PyTorch torch.polar() Method

PyTorch torch.polar() method is “used to construct a complex number using absolute value and angle.” The data types of these absolute values and angles must float or double.

Syntax

torch.polar(abs, angle)

Parameters

  1. abs (Tensor): The tensor containing magnitudes (absolute values) for the complex numbers.
  2. angle (Tensor): The tensor containing phases (angles in radians) for the complex numbers.

Example 1: Use of a torch.polar()

import torch

# Define magnitude and phase tensors
magnitudes = torch.tensor([1.0, 2.0, 3.0])
phases = torch.tensor([0.0, 3.141592653589793/2, 3.141592653589793])

# Construct complex tensor using polar
complex_tensor = torch.polar(magnitudes, phases)

print("Complex Tensor:")
print(complex_tensor)

Output

Complex Tensor:

tensor([ 1.0000e+00+0.0000e+00j, -8.7423e-08+2.0000e+00j,
         -3.0000e+00-2.6227e-07j])

You can see that the resulting complex tensor will have values corresponding to the complex numbers with the provided magnitudes and phases.

Example 2: Using Random Values

import torch

magnitudes_random = torch.rand(5)
phases_random = torch.rand(5) * 2 * 3.141592653589793

# Construct complex tensor using polar
complex_tensor_random = torch.polar(magnitudes_random, phases_random)

print("Random Magnitudes:")
print(magnitudes_random)
print("\nRandom Phases:")
print(phases_random)
print("\nComplex Tensor from Random Values:")
print(complex_tensor_random)

Output

torch.polar() Method

Example 3: Reconstructing Complex Numbers

import torch

# Create a complex tensor
complex_tensor_original = torch.tensor([1+2j, 3+4j, -2-3j],
 dtype=torch.complex64)

# Extract magnitudes and phases
magnitudes_extracted = torch.abs(complex_tensor_original)
phases_extracted = torch.angle(complex_tensor_original)

# Reconstruct complex tensor using polar
complex_tensor_reconstructed = torch.polar(magnitudes_extracted,
 phases_extracted)

print("Original Complex Tensor:")
print(complex_tensor_original)
print("\nExtracted Magnitudes:")
print(magnitudes_extracted)
print("\nExtracted Phases:")
print(phases_extracted)
print("\nReconstructed Complex Tensor:")
print(complex_tensor_reconstructed)

Output

Reconstructing Complex Numbers

That’s it!

Leave a Comment