cuquantum.densitymat.full_matrix_product

cuquantum.densitymat.full_matrix_product(*operands: Tuple[MatrixOperator, Optional[bool], Optional[bool]], coeff: Union[numbers.Number, numpy.ndarray, cupy.ndarray, Callback, Tuple[Union[numpy.ndarray, cupy.ndarray], Callback]] = 1.0, batch_size: int = 1) OperatorTerm[source]

Return an OperatorTerm from a product of matrix operators defined on the full Hilbert space.

Parameters
  • operands

    Operands in the product. Each operand is a tuple of length 1 to 3 of the form (matrix, conjugation, dual), where matrix is an instance of MatrixOperator and conjugation and dual are optional booleans and default to False.

    • conjugation=True implies that the complex conjugate transpose of the class:MatrixOperator is applied.

    • dual=True implies that the MatrixOperator acts from the right on the bra modes of a mixed quantum state, while dual=False (default) the MatrixOperator acts from the left on the ket modes of the pure or mixed quantum state.

  • coeff – Coefficient(s) associated with this OperatorTerm.

  • batch_size – Batch size of coefficient coeff, needs to be specified only if coeff is a Callback.

Returns

An OperatorTerm constructed from the product of :class:`MatrixOperator`s.