*My post explains conj(), conj_physical(), is_conj() and resolve_conj().
real() can get the 0D or more D tensor of zero or more real parts from the 0D or more D tensor of zero or more elements as shown below:
*Memos:
-
real()
can be used with torch but not with a tensor. - The 1st argument with
torch
isinput
(Required-Type:tensor
ofint
,float
,complex
orbool
).
import torch
my_tensor = torch.tensor(4.7352+6.1584j)
torch.real(input=my_tensor)
# tensor(4.7352)
my_tensor = torch.tensor([4.7352+6.1584j,
2.3706-8.4339j,
-9.1648-3.0342j])
torch.real(input=my_tensor)
# tensor([4.7352,
# 2.3706,
# -9.1648])
my_tensor = torch.tensor([[4.7352+6.1584j,
2.3706-8.4339j,
-9.1648-3.0342j],
[1.5885+7.2316j,
-6.4314+3.9501j,
5.7923-4.1148j]])
torch.real(input=my_tensor)
# tensor([[4.7352,
# 2.3706,
# -9.1648],
# [1.5885,
# -6.4314,
# 5.7923]])
my_tensor = torch.tensor([[4, 2, -9],
[1, -6, 5]])
torch.real(input=my_tensor)
# tensor([[4, 2, -9],
# [1, -6, 5]])
my_tensor = torch.tensor([[4.7352, 2.3706, -9.1648],
[1.5885, -6.4314, 5.7923]])
torch.real(input=my_tensor)
# tensor([[4.7352, 2.3706, -9.1648],
# [1.5885, -6.4314, 5.7923]])
my_tensor = torch.tensor([[True, False, True],
[False, True, False]])
torch.real(input=my_tensor)
# tensor([[True, False, True],
# [False, True, False]])
frac() can get the 0D or more D tensor of zero or more decimal parts from the a 0D or more D tensor of zero or more floating point numbers as shown below:
*Memos:
-
frac()
can be used withtorch
or a tensor. - The 1st argument(
input
) withtorch
or using a tensor(Required-Type:tensor
offloat
). - There is
out
argument withtorch
(Optional-Default:None
-Type:tensor
): *Memos:-
out=
must be used. -
My post explains
out
argument.
-
import torch
my_tensor = torch.tensor(4.7352)
torch.frac(input=my_tensor)
my_tensor.frac()
# tensor(0.7352)
my_tensor = torch.tensor([4.7352, 2.3706, -9.1648])
torch.frac(input=my_tensor)
# tensor([0.7352, 0.3706, -0.1648])
my_tensor = torch.tensor([[4.7352, 2.3706, -9.1648],
[1.5885, -6.4314, 5.7923]])
torch.frac(input=my_tensor)
# tensor([[0.7352, 0.3706, -0.1648],
# [0.5885, -0.4314, 0.7923]])
view_as_real() can get the view of the 0D or more D tensor of zero or more real and imaginary parts from the 0D or more D tensor of zero or more complex numbers as shown below:
*Memos:
-
view_as_real()
can be used withtorch
but not with a tensor. - The 1st argument with
torch
isinput
(Required-Type:tensor
ofcomplex
).
import torch
my_tensor = torch.tensor(4.7352+6.1584j)
torch.view_as_real(input=my_tensor)
# tensor([4.7352, 6.1584])
my_tensor = torch.tensor([4.7352+6.1584j,
2.3706-8.4339j,
-9.1648-3.0342j])
torch.view_as_real(input=my_tensor)
# tensor([[4.7352, 6.1584],
# [2.3706, -8.4339],
# [-9.1648, -3.0342]])
my_tensor = torch.tensor([[4.7352+6.1584j,
2.3706-8.4339j,
-9.1648-3.0342j],
[1.5885+7.2316j,
-6.4314+3.9501j,
5.7923-4.1148j]])
torch.view_as_real(input=my_tensor)
# tensor([[[4.7352, 6.1584],
# [2.3706, -8.4339],
# [-9.1648, -3.0342]],
# [[1.5885, 7.2316],
# [-6.4314, 3.9501],
# [5.7923, -4.1148]]])
view_as_complex() can get the view of the 0D or more D tensor of one or more complex numbers from the 1D or more D tensor of 2 or more even floating point numbers as shown below:
*Memos:
-
view_as_complex()
can be used withtorch
but not with a tensor. - The 1st argument with
torch
isinput
(Required-Type:tensor
offloat
).
import torch
my_tensor = torch.tensor([4.7352, 6.1584])
torch.view_as_complex(input=my_tensor)
# tensor(4.7352+6.1584j)
my_tensor = torch.tensor([[4.7352, 6.1584],
[2.3706, -8.4339],
[-9.1648, -3.0342]])
torch.view_as_complex(input=my_tensor)
# tensor([4.7352+6.1584j,
# 2.3706-8.4339j,
# -9.1648-3.0342j])
my_tensor = torch.tensor([[4.7352, 6.1584],
[2.3706, -8.4339],
[-9.1648, -3.0342],
[1.5885, 7.2316],
[-6.4314, 3.9501],
[5.7923, -4.1148]])
torch.view_as_complex(input=my_tensor)
# tensor([4.7352+6.1584j,
# 2.3706-8.4339j,
# -9.1648-3.0342j,
# 1.5885+7.2316j,
# -6.4314+3.9501j,
# 5.7923-4.1148j])
complex() can get the 0D or more D tensor of zero or more complex numbers from two of the 0D or more D tensors of zero or more floating point numbers as shown below:
*Memos:
-
complex()
can be used withtorch
but not with a tensor. - The 1st argument with
torch
isreal
(Required-Type:tensor
offloat
). - The 2st argument with
torch
or the 1st argument isimag
(Required-Type:tensor
offloat
). - There is
out
argument withtorch
(Optional-Defalut:None
-Type:tensor
): *Memos:-
out=
must be used. -
My post explains
out
argument.
-
import torch
tensor1 = torch.tensor(4.7352)
tensor2 = torch.tensor([6.1584, -8.4339, -3.0342])
torch.complex(real=tensor1, imag=tensor2)
# tensor([4.7352+6.1584j, 4.7352-8.4339j, 4.7352-3.0342j])
torch.complex(real=tensor2, imag=tensor1)
# tensor([6.1584+4.7352j, -8.4339+4.7352j, -3.0342+4.7352j])
tensor1 = torch.tensor([4.7352, 2.3706, -9.1648])
tensor2 = torch.tensor([[6.1584, -8.4339, -3.0342],
[7.2316, 3.9501, -4.1148]])
torch.complex(real=tensor1, imag=tensor2)
# tensor([[4.7352+6.1584j, 2.3706-8.4339j, -9.1648-3.0342j],
# [4.7352+7.2316j, 2.3706+3.9501j, -9.1648-4.1148j]])
torch.complex(real=tensor2, imag=tensor1)
# tensor([[6.1584+4.7352j, -8.4339+2.3706j, -3.0342-9.1648j],
# [7.2316+4.7352j, 3.9501+2.3706j, -4.1148-9.1648j]])
Top comments (0)