yobx.reference.ops.op_complex#

class yobx.reference.ops.op_complex.ComplexModule(onnx_node: NodeProto, run_params: dict[str, Any], schema: Any = None)[source]#
class yobx.reference.ops.op_complex.ComplexMul(onnx_node: NodeProto, run_params: dict[str, Any], schema: Any = None)[source]#

Implements com.microsoft.ComplexMul.

Computes element-wise complex multiplication of two tensors whose last dimension has size 2 (real, imaginary):

C[..., 0] = A[..., 0] * B[..., 0] - A[..., 1] * B[..., 1]
C[..., 1] = A[..., 0] * B[..., 1] + A[..., 1] * B[..., 0]
class yobx.reference.ops.op_complex.ComplexMulConj(onnx_node: NodeProto, run_params: dict[str, Any], schema: Any = None)[source]#

Implements com.microsoft.ComplexMulConj.

Computes element-wise complex multiplication of A with the conjugate of B. Both tensors must have a last dimension of size 2 (real, imaginary):

C[..., 0] = A[..., 0] * B[..., 0] + A[..., 1] * B[..., 1]
C[..., 1] = A[..., 1] * B[..., 0] - A[..., 0] * B[..., 1]
class yobx.reference.ops.op_complex.ToComplex(onnx_node: NodeProto, run_params: dict[str, Any], schema: Any = None)[source]#