*Memos:
sub() can do subtraction with two of the 0D or more D tensors of zero or more elements or scalars or the 0D or more D tensor of zero or more elements and a scalar, getting the 0D or more D tensor of zero or more elements as shown below:
*Memos:
-
sub()
can be used with torch or a tensor. - The 1st argument(
input
) withtorch
(Type:tensor
orscalar
ofint
,float
orcomplex
) or using a tensor(Type:tensor
ofint
,float
orcomplex
)(Required). - The 2nd argument with
torch
or the 1st argument with a tensor isother
(Required-Type:tensor
orscalar
ofint
,float
orcomplex
). - The 3rd argument with
torch
or the 2nd argument with a tensor isalpha
(Optional-Default:1
-Type:tensor
orscalar
ofint
,float
orcomplex
). *other
is multiplied byalpha
(input
or a tensor-(other
xalpha
)). - There is
out
argument withtorch
(Optional-Default:None
-Type:tensor
): *Memos:-
out=
must be used. -
My post explains
out
argument.
-
-
subtract() is the alias of
sub()
.
import torch
tensor1 = torch.tensor([9, 7, 6])
tensor2 = torch.tensor([[4, -4, 3], [-2, 5, -5]])
torch.sub(input=tensor1, other=tensor2)
tensor1.sub(other=tensor2)
torch.sub(input=tensor1, other=tensor2, alpha=1)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(1))
# tensor([[5, 11, 3], [11, 2, 11]])
torch.sub(input=tensor1, other=tensor2, alpha=0)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(0))
# tensor([[9, 7, 6], [9, 7, 6]])
torch.sub(input=tensor1, other=tensor2, alpha=2)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(2))
# tensor([[1, 15, 0], [13, -3, 16]])
torch.sub(input=tensor1, other=tensor2, alpha=-1)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(-1))
# tensor([[13, 3, 9], [7, 12, 1]])
torch.sub(input=tensor1, other=tensor2, alpha=-2)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(-2))
# tensor([[17, -1, 12], [5, 17, -4]])
torch.sub(input=9, other=tensor2)
torch.sub(input=9, other=tensor2, alpha=1)
torch.sub(input=9, other=tensor2, alpha=torch.tensor(1))
# tensor([[5, 13, 6], [11, 4, 14]])
torch.sub(input=tensor1, other=4)
torch.sub(input=tensor1, other=4, alpha=1)
torch.sub(input=tensor1, other=4, alpha=torch.tensor(1))
# tensor([5, 3, 2])
torch.sub(input=9, other=4)
torch.sub(input=9, other=4, alpha=1)
torch.sub(input=9, other=4, alpha=torch.tensor(1))
# tensor(5)
tensor1 = torch.tensor([9., 7., 6.])
tensor2 = torch.tensor([[4., -4., 3.], [-2., 5., -5.]])
torch.sub(input=tensor1, other=tensor2)
torch.sub(input=tensor1, other=tensor2, alpha=1.)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(1.))
# tensor([[5., 11., 3.], [11., 2., 11.]])
torch.sub(input=9., other=tensor2)
torch.sub(input=9., other=tensor2, alpha=1.)
torch.sub(input=9., other=tensor2, alpha=torch.tensor(1.))
# tensor([[5., 13., 6.], [11., 4., 14.]])
torch.sub(input=tensor1, other=4)
torch.sub(input=tensor1, other=4, alpha=1.)
torch.sub(input=tensor1, other=4, alpha=torch.tensor(1.))
# tensor([5., 3., 2.])
torch.sub(input=9., other=4)
torch.sub(input=9., other=4, alpha=1.)
torch.sub(input=9., other=4, alpha=torch.tensor(1.))
# tensor(5.)
tensor1 = torch.tensor([9.+0.j, 7.+0.j, 6.+0.j])
tensor2 = torch.tensor([[4.+0.j, -4.+0.j, 3.+0.j],
[-2.+0.j, 5.+0.j, -5.+0.j]])
torch.sub(input=tensor1, other=tensor2)
torch.sub(input=tensor1, other=tensor2, alpha=1.+0.j)
torch.sub(input=tensor1, other=tensor2, alpha=torch.tensor(1.+0.j))
# tensor([[5.+0.j, 11.+0.j, 3.+0.j],
# [11.+0.j, 2.+0.j, 11.+0.j]])
torch.sub(input=9.+0.j, other=tensor2)
torch.sub(input=9.+0.j, other=tensor2, alpha=1.+0.j)
torch.sub(input=9.+0.j, other=tensor2, alpha=torch.tensor(1.+0.j))
# tensor([[5.+0.j, 13.+0.j, 6.+0.j],
# [11.+0.j, 4.+0.j, 14.+0.j]])
torch.sub(input=tensor1, other=4.+0.j)
torch.sub(input=tensor1, other=4.+0.j, alpha=1.+0.j)
torch.sub(input=tensor1, other=4.+0.j, alpha=torch.tensor(1.+0.j))
# tensor([5.+0.j, 3.+0.j, 2.+0.j])
torch.sub(input=9.+0.j, other=4.+0.j)
torch.sub(input=9.+0.j, other=4.+0.j, alpha=1.+0.j)
torch.sub(input=9.+0.j, other=4.+0.j, alpha=torch.tensor(1.+0.j))
# tensor(5.+0.j)
mul() can do multiplication with two of the 0D or more D tensors of zero or more elements or scalars or the 0D or more D tensor of zero or more elements and a scalar. getting the 0D or more D tensor of zero or more elements as shown below:
*Memos:
-
mul()
can be used withtorch
or a tensor. - The 1st argument(
input
) withtorch
(Type:tensor
orscalar
ofint
,float
,complex
orbool
) or using a tensor(Type:tensor
ofint
,float
,complex
orbool
)(Required). - The 2nd argument with
torch
or the 1st argument with a tensor isother
(Required-Type:tensor
orscalar
ofint
,float
,complex
orbool
). - There is
out
argument withtorch
(Optional-Default:None
-Type:tensor
): *Memos:-
out=
must be used. -
My post explains
out
argument.
-
-
multiply() is the alias of
mul()
.
import torch
tensor1 = torch.tensor([9, 7, 6])
tensor2 = torch.tensor([[4, -4, 3], [-2, 5, -5]])
torch.mul(input=tensor1, other=tensor2)
tensor1.mul(other=tensor2)
# tensor([[36, -28, 18], [-18, 35, -30]])
torch.mul(input=9, other=tensor2)
# tensor([[36, -36, 27], [-18, 45, -45]])
torch.mul(input=tensor1, other=4)
# tensor([36, 28, 24])
torch.mul(input=9, other=4)
# tensor(36)
tensor1 = torch.tensor([9., 7., 6.])
tensor2 = torch.tensor([[4., -4., 3.], [-2., 5., -5.]])
torch.mul(input=tensor1, other=tensor2)
# tensor([[36., -28., 18.], [-18., 35., -30.]])
torch.mul(input=9., other=tensor2)
# tensor([[36., -36., 27.], [-18., 45., -45.]])
torch.mul(input=tensor1, other=4.)
# tensor([36., 28., 24.])
torch.mul(input=9., other=4.)
# tensor(36.)
tensor1 = torch.tensor([9.+0.j, 7.+0.j, 6.+0.j])
tensor2 = torch.tensor([[4.+0.j, -4.+0.j, 3.+0.j],
[-2.+0.j, 5.+0.j, -5.+0.j]])
torch.mul(input=tensor1, other=tensor2)
# tensor([[36.+0.j, -28.+0.j, 18.+0.j],
# [-18.+0.j, 35.+0.j, -30.+0.j]])
torch.mul(input=9.+0.j, other=tensor2)
# tensor([[36.+0.j, -36.+0.j, 27.+0.j],
# [-18.+0.j, 45.+0.j, -45.+0.j]])
torch.mul(input=tensor1, other=4.+0.j)
# tensor([36.+0.j, 28.+0.j, 24.+0.j])
torch.mul(input=9.+0.j, other=4.+0.j)
# tensor(36.+0.j)
tensor1 = torch.tensor([True, False, True])
tensor2 = torch.tensor([[False, True, False], [True, False, True]])
torch.mul(input=tensor1, other=tensor2)
# tensor([[False, False, False],
# [True, False, True]])
torch.mul(input=True, other=tensor2)
# tensor([[False, True, False], [True, False, True]])
torch.mul(input=tensor1, other=False)
# tensor([False, False, False])
torch.mul(input=True, other=False)
# tensor(False)
Top comments (0)