QPanda3  0.1.0
Supported by OriginQ
Loading...
Searching...
No Matches
pyqpanda3.quantum_info.Kraus Class Reference

Public Member Functions

None __init__ (self)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, list[Matrix] left)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, list[numpy.ndarray[numpy.complex128[m, n]]] left)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, list[Matrix] left, list[Matrix] right)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, list[numpy.ndarray[numpy.complex128[m, n]]] left, list[numpy.ndarray[numpy.complex128[m, n]]] right)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, numpy.ndarray[numpy.complex128[m, n]] matrix)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, Matrix matrix)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, Choi other)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, Chi other)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, SuperOp other)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, PTM other)
 init(*args, **kwargs) Overloaded function.
 
None __init__ (self, Kraus other)
 init(*args, **kwargs) Overloaded function.
 
bool append (self, Kraus other)
 append(self: quantum_info.Kraus, other: quantum_info.Kraus) -> bool
 
None clear (self)
 clear(self: quantum_info.Kraus) -> None
 
 evolve (self, *args, **kwargs)
 evolve(*args, **kwargs) Overloaded function.
 
int get_input_dim (self)
 get_input_dim(self: quantum_info.Kraus) -> int
 
int get_output_dim (self)
 get_output_dim(self: quantum_info.Kraus) -> int
 
list[Matrixleft (self)
 left(self: quantum_info.Kraus) -> list[quantum_info.Matrix]
 
None left_push_back (self, Matrix val)
 left_push_back(*args, **kwargs) Overloaded function.
 
None left_push_back (self, numpy.ndarray[numpy.complex128[m, n]] val)
 left_push_back(*args, **kwargs) Overloaded function.
 
list[Matrixright (self)
 right(self: quantum_info.Kraus) -> list[quantum_info.Matrix]
 
None right_push_back (self, Matrix val)
 right_push_back(*args, **kwargs) Overloaded function.
 
None right_push_back (self, numpy.ndarray[numpy.complex128[m, n]] val)
 right_push_back(*args, **kwargs) Overloaded function.
 
bool __eq__ (self, Kraus other)
 eq(self: quantum_info.Kraus, other: quantum_info.Kraus) -> bool
 

Constructor & Destructor Documentation

◆ __init__() [1/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self)

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [2/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
list[Matrix] left )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [3/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
list[numpy.ndarray[numpy.complex128[m, n]]] left )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [4/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
list[Matrix] left,
list[Matrix] right )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [5/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
list[numpy.ndarray[numpy.complex128[m, n]]] left,
list[numpy.ndarray[numpy.complex128[m, n]]] right )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [6/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
numpy.ndarray[numpy.complex128[m, n]] matrix )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [7/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
Matrix matrix )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [8/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
Choi other )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [9/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
Chi other )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [10/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
SuperOp other )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [11/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
PTM other )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

◆ __init__() [12/12]

None pyqpanda3.quantum_info.Kraus.__init__ ( self,
Kraus other )

init(*args, **kwargs) Overloaded function.

  1. init(self: quantum_info.Kraus) -> None

Default constructor, generates a Kraus object with no elements

  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
lefta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on a list of operators (an array of 2D matrices).. @detail The left operator list of the generated Kraus object is constructed from the input array of matrices, while the right operator list is empty

Parameters
righta kraus operator list
  1. init(self: quantum_info.Kraus, left: list[quantum_info.Matrix], right: list[quantum_info.Matrix]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, left: list[numpy.ndarray[numpy.complex128[m, n]]], right: list[numpy.ndarray[numpy.complex128[m, n]]]) -> None

Construct a Kraus object based on two lists of operators (arrays of 2D matrices). @detail The left operator list of the generated Kraus object is constructed from the first input array, and the right operator list is constructed from the second input array.

Parameters
lefta kraus operator list for left operator list of the generated Kraus object
righta kraus operator list for right operator list of the generated Kraus object
  1. init(self: quantum_info.Kraus, matrix: numpy.ndarray[numpy.complex128[m, n]]) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, matrix: quantum_info.Matrix) -> None

Construct a Kraus object based on a single operator (a 2D matrix). @detail The left operator list of the generated Kraus object is constructed from the input. The right operator list of the generated Kraus object is empty.

Parameters
matrixa single operator (a 2D matrix)
  1. init(self: quantum_info.Kraus, other: quantum_info.Choi) -> None

Generate Kraus object based on a Choi object

Parameters
othera quantum channel as a Choi object
  1. init(self: quantum_info.Kraus, other: quantum_info.Chi) -> None

Generate Kraus object based on a Chi object

Parameters
othera quantum channel as a Chi object
  1. init(self: quantum_info.Kraus, other: quantum_info.SuperOp) -> None

Generate Kraus object based on a SuperOp object

Parameters
othera quantum channel as a SuperOp object
  1. init(self: quantum_info.Kraus, other: quantum_info.PTM) -> None

Generate Kraus object based on a PTM object

Parameters
othera quantum channel as a PTM object
  1. init(self: quantum_info.Kraus, other: quantum_info.Kraus) -> None

Generate Kraus object based on a Kraus object

Parameters
othera quantum channel as a Kraus object

Member Function Documentation

◆ __eq__()

bool pyqpanda3.quantum_info.Kraus.__eq__ ( self,
Kraus other )

eq(self: quantum_info.Kraus, other: quantum_info.Kraus) -> bool

Equality check. Determine if the internal data of two Kraus objects are equal.

Parameters
Krausanother Kraus object
Returns
Bool if they are same, return true.

◆ append()

bool pyqpanda3.quantum_info.Kraus.append ( self,
Kraus other )

append(self: quantum_info.Kraus, other: quantum_info.Kraus) -> bool

Append the internal data of another Kraus object to the end of the current Kraus object's internal data

Parameters
otheranother Kraus object

◆ clear()

None pyqpanda3.quantum_info.Kraus.clear ( self)

clear(self: quantum_info.Kraus) -> None

Clear the data in Kraus object

◆ evolve()

pyqpanda3.quantum_info.Kraus.evolve ( self,
* args,
** kwargs )

evolve(*args, **kwargs) Overloaded function.

  1. evolve(self: quantum_info.Kraus, state: QPanda::QuantumInformation::DensityMatrix) -> QPanda::QuantumInformation::DensityMatrix

Evolve a quantum state (density matrix) and return the result as a DensityMatrix object.

Parameters
statea DensityMatrix object as a quantum state
Returns
DensityMatrix a DensityMatrix object as result of evolving.
  1. evolve(self: quantum_info.Kraus, state: QPanda::QuantumInformation::StateVector) -> QPanda::QuantumInformation::DensityMatrix

Evolve a quantum state (state vector).

Parameters
statea StateVector object as a quantum state
Returns
DensityMatrix a DensityMatrix object as result of evolving.

◆ get_input_dim()

int pyqpanda3.quantum_info.Kraus.get_input_dim ( self)

get_input_dim(self: quantum_info.Kraus) -> int

Get the input dimension of the QuantumChannel

Returns
size_t the input dimension of the QuantumChannel

◆ get_output_dim()

int pyqpanda3.quantum_info.Kraus.get_output_dim ( self)

get_output_dim(self: quantum_info.Kraus) -> int

Get the output dimension of the QuantumChannel

Returns
size_t the output dimension of the QuantumChannel

◆ left()

list[Matrix] pyqpanda3.quantum_info.Kraus.left ( self)

left(self: quantum_info.Kraus) -> list[quantum_info.Matrix]

Retrieve the list of left operators inside a Kraus object

Returns
the list of left operators inside a Kraus object

◆ left_push_back() [1/2]

None pyqpanda3.quantum_info.Kraus.left_push_back ( self,
Matrix val )

left_push_back(*args, **kwargs) Overloaded function.

  1. left_push_back(self: quantum_info.Kraus, val: quantum_info.Matrix) -> None

Add the data from a Matrix object to the end of the left operator list inside a Kraus object

Parameters
vala Matrix object
  1. left_push_back(self: quantum_info.Kraus, val: numpy.ndarray[numpy.complex128[m, n]]) -> None

Add the data from a Matrix object to the end of the left operator list inside a Kraus object

Parameters
vala Matrix object

◆ left_push_back() [2/2]

None pyqpanda3.quantum_info.Kraus.left_push_back ( self,
numpy.ndarray[numpy.complex128[m, n]] val )

left_push_back(*args, **kwargs) Overloaded function.

  1. left_push_back(self: quantum_info.Kraus, val: quantum_info.Matrix) -> None

Add the data from a Matrix object to the end of the left operator list inside a Kraus object

Parameters
vala Matrix object
  1. left_push_back(self: quantum_info.Kraus, val: numpy.ndarray[numpy.complex128[m, n]]) -> None

Add the data from a Matrix object to the end of the left operator list inside a Kraus object

Parameters
vala Matrix object

◆ right()

list[Matrix] pyqpanda3.quantum_info.Kraus.right ( self)

right(self: quantum_info.Kraus) -> list[quantum_info.Matrix]

Retrieve the list of right operators inside a Kraus object

Returns
the list of right operators inside a Kraus object

◆ right_push_back() [1/2]

None pyqpanda3.quantum_info.Kraus.right_push_back ( self,
Matrix val )

right_push_back(*args, **kwargs) Overloaded function.

  1. right_push_back(self: quantum_info.Kraus, val: quantum_info.Matrix) -> None

Add the data from a Matrix object to the end of the right operator list inside a Kraus object

Parameters
vala Matrix object
  1. right_push_back(self: quantum_info.Kraus, val: numpy.ndarray[numpy.complex128[m, n]]) -> None

Add the data from a Matrix object to the end of the right operator list inside a Kraus object

Parameters
vala Matrix object

◆ right_push_back() [2/2]

None pyqpanda3.quantum_info.Kraus.right_push_back ( self,
numpy.ndarray[numpy.complex128[m, n]] val )

right_push_back(*args, **kwargs) Overloaded function.

  1. right_push_back(self: quantum_info.Kraus, val: quantum_info.Matrix) -> None

Add the data from a Matrix object to the end of the right operator list inside a Kraus object

Parameters
vala Matrix object
  1. right_push_back(self: quantum_info.Kraus, val: numpy.ndarray[numpy.complex128[m, n]]) -> None

Add the data from a Matrix object to the end of the right operator list inside a Kraus object

Parameters
vala Matrix object

The documentation for this class was generated from the following file: