janus.encode#
量子态编码模块。
编码函数#
schmidt_encode#
bidrc_encode#
efficient_sparse#
- janus.encode.efficient_sparse(q_size, data, add_measure=False)[源代码]#
高效稀疏编码 (Efficient Sparse Encoding)
通过一系列合并操作将状态简化为基态,然后对整个电路求逆。
- 参数:
q_size: 可用的量子比特总数 data: 量子态数据(列表、数组或字典格式) add_measure: 是否在输出比特上添加测量(默认 False)
- 返回:
- EfficientSparseResult: 包含电路和输出比特信息的结果对象
result.circuit: 编码电路
result.out_qubits: 输出比特索引列表
result.measure(): 返回带测量的电路副本
结果类#
SchmidtEncodeResult#
EfficientSparseResult#
工具函数#
- janus.encode._schmidt(circuit, qubits, data, cutoff)[源代码]#
Schmidt 分解
对量子态进行 Schmidt 分解并生成对应的电路。
- 参数:
circuit: Janus 量子电路对象 qubits: 量子比特索引列表 data: 量子态振幅列表 cutoff: 奇异值截断阈值
- janus.encode._build_state_dict(data)[源代码]#
将振幅列表转换为状态字典
将一维的振幅列表转换为状态向量的字典表示。
- 参数:
data: 振幅值列表或数组
- 返回:
Dict[str, complex]: 状态字典,格式为 {'binary_string': amplitude}
使用示例#
Schmidt 编码#
from janus.encode import schmidt_encode
import numpy as np
data = [1/np.sqrt(2), 1/np.sqrt(2), 0, 0]
circuit = schmidt_encode(q_size=4, data=data, cutoff=1e-4)
高效稀疏编码#
from janus.encode import efficient_sparse
result = efficient_sparse(data, n_qubits=4)