ttnn.polar

ttnn.polar(input_tensor: ComplexTensor, *, memory_config: ttnn.MemoryConfig = None) ttnn.Tensor

Perform an polar to Cartesian transformation on input_tensor, input_tensor.real(r), input_tensor.imag(theta) into x + i*y generating a complex tensor.

Parameters:

input_tensor (ComplexTensor) – the input tensor.

Keyword Arguments:

memory_config (ttnn.MemoryConfig, optional) – Memory config for the operation. Defaults to None.

Returns:

ttnn.Tensor – the output tensor.

Example

# Create a complex tensor where real=magnitude, imag=angle
magnitude = torch.rand([1, 1, 32, 32], dtype=torch.bfloat16)
angle = torch.rand([1, 1, 32, 32], dtype=torch.bfloat16) * 2 * 3.14159  # angle in radians
tensor = ttnn.complex_tensor(
    ttnn.Tensor(magnitude, ttnn.bfloat16).to(ttnn.TILE_LAYOUT).to(device),
    ttnn.Tensor(angle, ttnn.bfloat16).to(ttnn.TILE_LAYOUT).to(device),
)

# Convert from polar to Cartesian form
output = ttnn.polar(tensor, memory_config=ttnn.DRAM_MEMORY_CONFIG)
logger.info(f"Polar to Cartesian: {output}")