mindquantum.algorithm.library.amplitude_encoder
- mindquantum.algorithm.library.amplitude_encoder(x, n_qubits)[源代码]
- 用于振幅编码的量子线路。 - 说明 - 经典数据的长度应该是2的幂,否则将用0填充。 向量应该归一化。 - 参数:
- x (list[float] or numpy.array(list[float])) - 需要编码的数据向量,应该归一化。 
- n_qubits (int) - 编码线路的量子比特数。 
 
- 返回:
- Circuit,能够完成振幅编码的量子线路。 ParameterResolver,用于完成振幅编码量子线路的参数。 
 - 样例: - >>> from mindquantum.algorithm.library import amplitude_encoder >>> from mindquantum.simulator import Simulator >>> sim = Simulator('mqvector', 2) >>> encoder, parameterResolver = amplitude_encoder([0.5, -0.5, -0.5j, -0.5j], 2) >>> sim.apply_circuit(encoder, parameterResolver) >>> print(sim.get_qs(True)) 1/2¦00⟩ -1/2¦01⟩ -1/2j¦10⟩ -1/2j¦11⟩ >>> sim.reset() >>> encoder, parameterResolver = amplitude_encoder([0, -0.5j, -0.5j, -0.5, 0.5], 3) >>> sim = Simulator('mqvector', 3) >>> sim.apply_circuit(encoder, parameterResolver) >>> print(sim.get_qs(True)) -1/2j¦001⟩ -1/2j¦010⟩ -1/2¦011⟩ 1/2¦100⟩