mindquantum.algorithm.library.qudit_symmetric_encoding

View Source On Gitee
mindquantum.algorithm.library.qudit_symmetric_encoding(qudit: np.ndarray, n_qudits: int = 1, is_csr: bool = False)[source]

Qudit symmetric encoding, encodes a qudit state or matrix into a qubit symmetric state or matrix.

|0|0000|1|001+|0010+|100d1|2|0011+|00101+|1100d1|d1|1111
Parameters
  • qudit (np.ndarray) – the qudit state or matrix that needs to be encoded.

  • n_qudits (int) – the number of qudits in the qudit state or matrix. Default: 1.

  • is_csr (bool) – whether to return the matrix in CSR (Compressed Sparse Row) format. Default: False.

Returns

np.ndarray, the qubit symmetric state or matrix obtained after the qudit symmetric encoding.

Examples

>>> import numpy as np
>>> from mindquantum.algorithm.library.qudit_mapping import qudit_symmetric_encoding
>>> qudit = np.array([1., 2., 3.])
>>> qudit /= np.linalg.norm(qudit)
>>> print(qudit)
[0.26726124 0.53452248 0.80178373]
>>> print(qudit_symmetric_encoding(qudit))
[0.26726124+0.j 0.37796447+0.j 0.37796447+0.j 0.80178373+0.j]