🐛 Describe the bug
Setting an int tensor to linalg.norm() gets the error message as shown below:
import torch
from torch import linalg
my_tensor = torch.tensor([8, -3, 0, 1])
linalg.norm(input=my_tensor) # Error
RuntimeError: linalg.vector_norm: Expected a floating point or complex tensor as input. Got Long
But, setting a complex tensor to linalg.norm() returns a float tensor as shown below:
import torch
from torch import linalg
my_tensor = torch.tensor([8.+0.j, -3.+0.j, 0.+0.j, 1.+0.j])
linalg.norm(input=my_tensor)
# tensor(8.6023)
linalg.norm(input=my_tensor).dtype
# torch.float32
So, I set dtype=torch.complex64 to linalg.norm() but it still returns a float tensor as shown below:
import torch
from torch import linalg
my_tensor = torch.tensor([8.+0.j, -3.+0.j, 0.+0.j, 1.+0.j])
# ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
linalg.norm(input=my_tensor, dtype=torch.complex64)
# tensor(8.6023)
linalg.norm(input=my_tensor, dtype=torch.complex64).dtype
# torch.float32
Versions
import torch
torch.__version__ # '2.3.0'
cc @svekars @sekyondaMeta @AlannaBurke @ezyang @anjali411 @dylanbespalko @mruberry @nikitaved @amjames @jianyuh @walterddr @lezcano @pearu @xwang233
🐛 Describe the bug
Setting an
inttensor to linalg.norm() gets the error message as shown below:But, setting a
complextensor tolinalg.norm()returns afloattensor as shown below:So, I set
dtype=torch.complex64tolinalg.norm()but it still returns afloattensor as shown below:Versions
cc @svekars @sekyondaMeta @AlannaBurke @ezyang @anjali411 @dylanbespalko @mruberry @nikitaved @amjames @jianyuh @walterddr @lezcano @pearu @xwang233