弃用

所有PennyLane的弃用将会引发一个 qml.PennyLaneDeprecationWarning。待处理和已完成的弃用列在下面。

待弃用

  • 函数 qsvt_legacy 已被弃用。
    请改用 qml.qsvt。新功能接收输入多项式,而不是角度。

    • 在v0.40中已弃用

    • 将在 v0.41 中移除

  • tapeqtape 属性 QNode 已被弃用。 请改用 qml.workflow.construct_tape 函数。

    • 在 v0.40 中弃用

    • 将在v0.41中移除

  • decompose()中的max_expansion参数已被弃用。

    • 在v0.40中不推荐使用

    • 将在 v0.41 中被移除

  • set_decomposition() 中,decomp_depth 参数已弃用。

    • 在v0.40中已弃用

    • 将在 v0.41 中移除

  • qml.tape.QuantumScriptoutput_dim 属性已被弃用。请改用 QuantumScriptMeasurementProcessshape 方法来获取相同的信息。

    • 在 v0.40 中弃用

    • 将在 v0.41 中被移除

  • QNode.get_best_methodQNode.best_method_str 方法已被弃用。
    请改用 qml.workflow.get_best_diff_method 函数。

    • 在v0.40中已弃用

    • 将在 v0.41 中移除

  • qml.execute中的gradient_fn关键字参数已重命名为diff_method

    • 在 v0.40 中弃用

    • 将在 v0.41 中移除

  • op.opsop.coeffs 用于 SumProd 的功能将来会被移除。请改用 terms()

    • 在v0.35中已弃用

  • 通过 op.obs 访问张量积的项(例如, op = X(0) @ X(1))已被弃用与新的算子运算。用户应使用 op.operands 代替。

    • 在v0.36中已弃用

  • MultiControlledX 是唯一仍然支持用位字符串指定控制值的受控操作。将来,它将不再接受字符串作为控制值。

    • 在v0.36中已弃用

完成遗留操作符算术的移除

在PennyLane v0.40中,遗留的运算符算术系统已被移除,并完全被在v0.36中引入的新运算符算术功能所取代。有关如何将您的遗留代码迁移到新系统的详细信息,请查看更新的运算符页面。以下功能已被移除:

  • 在PennyLane v0.40中,遗留运算符算术已被移除。这包括 enable_new_opmath(), disable_new_opmath(), Hamiltonian, 和 Tensor. 注意 qml.Hamiltonian 将继续分发到 LinearCombination

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • hamiltonian()hamiltonian() 已被移除。请使用 operation()operation() 分别替代。

    • 在v0.39中弃用

    • 在v0.40中移除

  • pennylane.pauli.simplify() 已被移除。请改用 pennylane.simplify()simplify()

    • 在v0.39中被弃用

    • 在 v0.40 中移除

已完成的弃用周期

  • 模块 qml.qinfo 已被移除。请查看相应的函数在 qml.mathqml.measurements 模块中。

    • 在v0.39中已弃用

    • 在v0.40中移除

  • DeviceQubitDeviceQutritDevice 的顶层访问已被移除。相应地,它们现在可作为 qml.devices.LegacyDeviceqml.devices.QubitDeviceqml.devices.QutritDevice 使用。

    • 在v0.39中被弃用

    • 在 v0.40 中移除

  • 基态准备模板已被移除。
    请改为使用 BasisState

    • 在v0.39中被弃用

    • 在 v0.40 中移除

  • 已删除 qml.QubitStateVector 模板。请改用 StatePrep

    • 在v0.39中被弃用

    • 在v0.40中移除

  • qml.broadcast 已被移除。用户应该改用 for 循环。

    • 在 v0.39 中已弃用

    • 在 v0.40 中移除

  • 参数 max_expansion 已被移除 clifford_t_decomposition()

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • 对于 iterative_qpe()'ancilla' 参数已被移除。请改用 'aux_wire' 参数。

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • 已删除 compile()expand_depth 参数。

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • 已移除助手函数 qml.workflow.set_shots。我们不再在代码中与旧版设备接口交互。相反,应该在录音带上指定拍摄次数,设备应使用这些拍摄次数。

    • 在v0.38中弃用

    • 在v0.40中移除

  • QNode.gradient_fn 已被移除。请使用 QNode.diff_method 代替。QNode.get_gradient_fn 也可以用于处理差分方法。

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • 已删除qml.shadows.shadow_expval变换。请改用qml.shadow_expval测量过程。

    • 在 v0.39 中已弃用

    • 在v0.40中移除

  • PennyLane Lightning 和 Catalyst 将不再支持 manylinux2014 (GLIBC 2.17) 兼容的 Linux 操作系统,并将迁移到 manylinux_2_28 (GLIBC 2.28)。有关更多详细信息,请参见 pypa/manylinux

    • 最后支持的 manylinux2014 版本为 v0.36

    • 完全迁移到 manylinux_2_28 的 v0.37

  • qml.Hamiltonianqml.ops.LinearCombination 中的 simplify 参数已被移除。
    相反,可以在构造的算子上调用 qml.simplify()

    • 在v0.37中弃用

    • 在v0.39中已移除

  • qml.device 中的 decomp_depth 参数被移除了。

    • 在v0.38中已弃用

    • 在v0.39中移除

  • 函数 qml.qinfo.classical_fisherqml.qinfo.quantum_fisher 已被移除并迁移到 qml.gradients 模块。因此,应该使用 qml.gradients.classical_fisherqml.gradients.quantum_fisher

    • 在v0.38中已弃用

    • 在v0.39中删除

  • 所有遗留设备(名称为 default.qubit.{autograd,torch,tf,jax,legacy} 的设备)已被移除。请改用 default.qubit, 因为它支持对遗留设备支持的多个后端进行反向传播。

    • 在v0.38中弃用

    • 在v0.39中移除

  • 内部切换设备以获得不同的反向传播兼容设备的逻辑已被移除,因为它是为了移除的 default.qubit.legacy 而存在的。

    • 在v0.38中弃用

    • 在v0.39中移除

  • Operator.expand 现在已被移除。请改用 qml.tape.QuantumScript(op.decomposition())

    • 在v0.38中弃用

    • 在 v0.39 中移除

  • qml.QNodeexpansion_strategy属性已被移除。用户如果需要对输出带进行精细控制,应使用qml.workflow.construct_batch

    • 在v0.38中已弃用

    • 在v0.39中移除

  • qml.specsqml.drawqml.draw_mpl 中,expansion_strategy 参数已被移除。
    改为使用 level 参数,该参数提供了一组更丰富的选项。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • qml.QNode 中,max_expansion 参数被移除。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • qml.execute 中,expand_fn 参数已被移除。请创建一个 qml.transforms.core.TransformProgram,并将其作为参数传递给 qml.executetransform_program 参数。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • qml.execute 中,max_expansion 参数已被移除。请改用 qml.devices.preprocess.decompose 和所需的展开级别,将其添加到 TransformProgram 中,然后将其传递给 qml.executetransform_program 参数。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • qml.execute中的override_shots参数已被移除。请改为将镜头添加到要执行的QuantumTape中。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • qml.execute 中,device_batch_transform 参数被移除。请创建一个 qml.transforms.core.TransformProgram,并传递到 qml.executetransform_program 参数中。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • 函数 qml.transforms.sum_expandqml.transforms.hamiltonian_expand 已被移除。
    相反,qml.transforms.split_non_commuting 可用于实现等效行为。

    • 在v0.38中已弃用

    • 在v0.39中已移除

  • queue_idx 属性已从 OperatorCompositeOpSymboliOp 类中移除。取而代之的是,索引现在作为 CircuitGraph.graph 节点的标签存储。

    • 在v0.38中已弃用

    • 在v0.38中移除

  • qml.from_qasm 不再从QASM代码中移除测量。使用 measurements=[] 从原始电路中移除测量。

    • 在v0.37中弃用

    • 在v0.38中更改了默认行为

  • qml.transforms.map_batch_transform 已被移除,因为变换可以直接应用于一批录音。
    有关更多信息,请参见 transform()

    • 在v0.37中弃用

    • 在v0.38中移除

  • qml.from_qasm_file 已被移除。用户可以打开文件,然后使用 qml.from_qasm 加载其内容。

    >>> with open("test.qasm", "r") as f:
    ...     circuit = qml.from_qasm(f.read())
    
    • 在v0.36中已弃用

    • 在v0.37中移除

  • qml.load 函数是一种通用方法,用于将电路从其他库转换为PennyLane。它已被更具体的函数 from_qiskitfrom_qasm 等替代。

    • 在v0.36中已弃用

    • 在v0.37中移除

  • single_tape_transform, batch_transform, qfunc_transform, op_transform, gradient_transformhessian_transform 已被弃用。请改用新的 qml.transform 函数。请参考 转换文档 以了解如何实现。

    • 在v0.34中已弃用

    • 在v0.36中移除

  • PauliWordPauliSentence 不再使用 * 进行矩阵和张量乘积,而是使用 @ 来符合 PennyLane 的约定。

    • 在v0.35中已弃用

    • 在v0.36中移除

  • 私有函数 _pauli_mult_binary_matrix_get_pauli_map 来自 pauli 模块已被移除,因为它们在任何地方都不再使用,并且可以使用 pauli 模块中的新特性实现相同的功能。

    • 在v0.35中弃用

    • 在v0.36中移除

  • 在调用 qml.matrix 而不提供 wire_order 的情况下,对于可能导致线序模糊的对象现在会引发错误。这包括具有多个线的磁带、设备未提供线的 QNodes,或量子函数。

    • 在v0.35中已弃用

    • 在v0.36中引发错误

  • qml.pauli.pauli_multqml.pauli.pauli_mult_with_phase 已经被移除。相应地,您应该使用 qml.simplify(qml.prod(pauli_1, pauli_2)) 来获取简化后的算子。

    >>> op = qml.simplify(qml.prod(qml.PauliX(0), qml.PauliZ(0)))
    >>> op
    -1j*(PauliY(wires=[0]))
    >>> [phase], [base] = op.terms()
    >>> phase, base
    (-1j, PauliY(wires=[0]))
    
    • 在 v0.35 中被废弃

    • 在v0.36中移除

  • MeasurementProcess.nameMeasurementProcess.data 已被移除,因为它们包含不再需要的虚拟值。

    • 在 v0.35 中已废弃

    • 在v0.36中移除

  • qml.interfaces 的内容已移入 qml.workflow

    • 内容在v0.35中移动

    • 在v0.36中移除了旧的导入路径

  • 方法 Operator.validate_subspace(subspace) 仅在特定的三元算子集下使用,已被移动到 qml.ops.qutrit.parametric_ops 模块,并且已从 Operator 类中移除。

    • 在v0.35中弃用

    • 在v0.36中移除

  • qml.transforms.one_qubit_decompositionqml.transforms.two_qubit_decomposition 已被移除。相反,您应该使用 qml.ops.one_qubit_decompositionqml.ops.two_qubit_decomposition

    • 在v0.34中已弃用

    • 在v0.35中移除

  • 传递附加参数给装饰QNode的变换现在应该通过使用 functools.partial 来完成。例如,metric_tensor() 变换有一个可选的 approx 参数,现在应该通过以下方式设置:

    from functools import partial
    
    @partial(qml.metric_tensor, approx="block-diag")
    @qml.qnode(dev)
    def circuit(weights):
        ...
    

    之前推荐的方法现在已被移除:

    @qml.metric_tensor(approx="block-diag")
    @qml.qnode(dev)
    def circuit(weights):
        ...
    

    另外,考虑直接调用转换:

    @qml.qnode(dev)
    def circuit(weights):
        ...
    
    transformed_circuit = qml.metric_tensor(circuit, approx="block-diag")
    
    • 在 v0.33 中已弃用

    • 在v0.35中移除

  • Observable.return_type 已被移除。相反,您应该检查周围测量过程的类型。

    • 在v0.34中已弃用

    • 在v0.35中移除

  • ClassicalShadow.entropy() 不再需要 atol 关键字,因为已经实现了一种更好的方法来估计来自近似密度矩阵重构的熵(可能具有负特征值)。

    • 在v0.34中已弃用

    • 在v0.35中移除

  • QuantumScript.is_sampledQuantumScript.all_sampled 已被移除。用户现在应手动验证这些属性。

    from pennylane.measurements import *
    sample_types = (SampleMP, CountsMP, ClassicalShadowMP, ShadowExpvalMP)
    is_sample_type = [isinstance(m, sample_types) for m in tape.measurements]
    is_sampled = any(is_sample_type)
    all_sampled = all(is_sample_type)
    
    • 在v0.34中已弃用

    • 在v0.35中移除

  • qml.ExpvalCost 已被移除。用户应使用 qml.expval() 代替。

    @qml.qnode(dev)
    def cost_function(params):
        some_qfunc(params)
        return qml.expval(Hamiltonian)
    
    • 在v0.24中已弃用

    • 在v0.35中移除

  • 不再支持将传递给 qml.ctrlcontrol_values 作为字符串来指定。

    • 在v0.25中被弃用

    • 在v0.34中移除

  • qml.gradients.pulse_generator 已更名为 qml.gradients.pulse_odegen 以符合论文命名规范。

    • 在 v0.33 中已弃用

    • 在 v0.34 中移除

  • QuantumScript 中,prep 关键字参数已被移除。StatePrepBase 操作应放置在 ops 列表的开头。

    • 在 v0.33 中已弃用

    • 在v0.34中移除

  • DefaultQubit 的公共方法正在进行更改,以遵循新的设备 API。

    我们将在即将发布的版本中切换到新的设备接口。 在这个新接口中,仿真实现细节 将从设备类本身中抽象出来,通过组合提供,而不是继承。 因此,DefaultQubit的一些公共和私有方法将不再存在,尽管它在工作流中的行为 将保持不变。

    如果您直接与设备方法交互,请参考 pennylane.devices.Devicepennylane.devices.DefaultQubit 以获取有关新接口外观的更多信息,并准备在即将发布的版本中进行更新。如果您对这些更改有任何反馈,请创建一个 issue 或在我们的 discussion forum 上发布。

    • 在v0.31中已弃用

    • 在v0.33中更改

  • Operator.__eq__Operator.__hash__ 的行为已被更新。它们的文档已更新以反映即将到来的变化。

    操作符相等性的更改允许用户以与 qml.equal 相同的方式使用操作符相等性。随着哈希的更改,相等的唯一操作符现在具有相同的哈希。这些更改现在允许如下行为:

    >>> qml.RX(0.1, wires=0) == qml.RX(0.1, wires=0)
    True
    >>> {qml.PauliZ(0), qml.PauliZ(0)}
    {PauliZ(wires=[0])}
    

    与此同时,之前的行为如下:

    >>> qml.RX(0.1, wires=0) == qml.RX(0.1, wires=0)
    False
    >>> {qml.PauliZ(0), qml.PauliZ(0)}
    {PauliZ(wires=[0]), PauliZ(wires=[0])}
    
    • 在 v0.32 中添加

    • 行为在 v0.33 中发生变化

  • qml.qchem.jordan_wigner 已被删除。请使用 qml.jordan_wigner。不再接受列出输入以定义费米子算子;应改用费米子算子 qml.FermiAqml.FermiCqml.FermiWordqml.FermiSentence。有关更多详细信息,请参见 pennylane.fermi 模块文档和 Fermionic Operator 教程。

    • 在v0.32中已弃用

    • 在v0.33中移除

  • qubit_observable中,tuple输入类型已被移除。请使用费米子算子对象。fermionic_hamiltonianfermionic_observable中的tuple返回类型已被移除,这些函数默认将返回一个费米子算子。

    • 在v0.32中弃用

    • 在v0.33中移除

  • 参数 sampler_seedqml.gradients.spsa_grad 已被移除。 相反,应该设置参数 sampler_rng,可以是一个整数值,用于内部创建一个伪随机数生成器(PRNG),或者是通过 np.random.default_rng(seed) 创建的 NumPy 伪随机数生成器(PRNG)。 传递一个 PRNG 的好处是可以在多次调用 spsa_grad 时重用该 PRNG,例如在优化过程中。

    • 在v0.32中已弃用

    • 在 v0.33 中移除

  • 关键字参数 RandomLayers.compute_decomposition ratio_imprivitive 已更改为 ratio_imprim 以匹配该操作的调用签名。

    • 在v0.32中弃用

    • 在v0.33中移除

  • 已移除 QuantumScript.set_parameters 方法和 QuantumScript.data 设置器。请改用 QuantumScript.bind_new_parameters

    • 在v0.32中已弃用

    • 在v0.33中移除

  • QubitDevice.statistics 中,observables 参数已被移除。请改用 circuit。在 QubitDevice.statistics 中使用可观测量列表已被移除。请改用 QuantumTape

    • 在v0.28-v0.31中仍然可访问

    • 在v0.32中移除

  • 已移除 CV 可观察量 qml.Xqml.P。请改用 qml.QuadXqml.QuadP

    • 在v0.32中弃用

    • 在v0.33中移除

  • 方法 tape.unwrap() 和相应的 UnwrapTapeUnwrap 类已被移除。

    • 在v0.32中弃用

    • 在v0.33中移除

    使用 convert_to_numpy_parameters() 代替 tape.unwrap()

    from pennylane.transforms import convert_to_numpy_parameters
    
    qscript = qml.tape.QuantumTape([qml.RX(torch.tensor(0.1234), 0)],
                                     [qml.expval(qml.Hermitian(torch.eye(2), 0))] )
    unwrapped_qscript = convert_to_numpy_parameters(qscript)
    
    torch_params = qscript.get_parameters()
    numpy_params = unwrapped_qscript.get_parameters()
    
  • qml.enable_returnqml.disable_return 已被移除。旧的返回类型不再可用。

    • 在v0.32中弃用

    • 在v0.33中移除

  • QNode 中,mode 关键字参数已被移除,因为它仅在旧的返回系统中使用(该系统也已被移除)。请改用 grad_on_execution

    • 在v0.32中弃用

    • 在v0.33中移除

  • qml.math.purityqml.math.vn_entropyqml.math.mutual_infoqml.math.fidelityqml.math.relative_entropyqml.math.max_entropy 不再支持状态向量作为输入。请在传递给任何这些函数之前,先对输入调用 qml.math.dm_from_state_vector

    • 仍然在v0.31中被接受

    • 在v0.32中移除

  • qml.operation.Operator 中,do_queue 关键字参数已被移除。这影响了所有子类,例如 OperationObservableSymbolicOp 等。请使用 qml.QueuingManager.stop_recording() 上下文,而不是设置 do_queue=False

    • 在v0.31中已弃用

    • 在v0.32中移除

  • 字典 qml.specs 不再支持直接访问某些键。相反,这些量可以作为新的 Resources 对象的字段访问,该对象保存在 specs_dict["resources"] 中:

    • num_operations 不再支持,使用 specs_dict["resources"].num_gates

    • num_used_wires 不再受支持,请使用 specs_dict["resources"].num_wires

    • gate_types 不再被支持,请使用 specs_dict["resources"].gate_types

    • gate_sizes 现已不再支持,请使用 specs_dict["resources"].gate_sizes

    • depth不再被支持,请使用specs_dict["resources"].depth

    这些密钥在v0.31中仍然可以访问,但在v0.32中被移除。

  • qml.math.reduced_dm 已被移除。请使用 qml.math.reduce_dmqml.math.reduce_statevector 替代。

    • 在 v0.31 中仍然可以访问

    • 在v0.32中移除

  • QuantumScriptname 关键字参数和属性已被移除。 这也影响了 QuantumTapeOperationRecorder

    • 在v0.31中已弃用

    • 在v0.32中移除

  • 已移除 Operation.base_name 属性。请改用 Operator.nametype(obj).__name__

    • 在v0.31中仍然可访问

    • 在v0.32中移除

  • LieAlgebraOptimizer 已更名。请改用 RiemannianGradientOptimizer

    • 在v0.31中已弃用

    • 在v0.32中移除

  • grouping_typegrouping_method 参数在 qchem.molecular_hamiltonian() 中已被移除。

    • 在v0.31中已弃用

    • 在v0.32中移除

    相反,只需使用指定的分组构造一个新的 Hamiltonian 实例:

    H, qubits = molecular_hamiltonian(symbols, coordinates)
    grouped_h = qml.Hamiltonian(
        H.coeffs,
        H.ops,
        grouping_type=grouping_type,
        groupingmethod=grouping_method,
    )
    
  • zyz_decompositionxyx_decomposition 已被移除,使用 one_qubit_decomposition 与 rotations 关键字替代。

    • 在v0.31中已弃用

    • 在v0.32中移除

  • 已移除 qml.utils.sparse_hamiltonian 函数。应改用 ~.Hamiltonian.sparse_matrix

    • 在v0.29中弃用

    • 在v0.31中移除

  • 已经移除了 collections 模块。

    • 在v0.29中已弃用

    • 在v0.31中移除

  • qml.op_sum 已被移除。用户应改用 qml.sum

    • 在v0.29中弃用。

    • 在v0.31中移除。

  • 使用Jax接口的梯度变换的参数 argnumargnums 替代。

    • argnum 会自动更改为 argnums,用于使用 JAX 的梯度变换,并在 v0.30 中发出警告。

    • argnums 是在 v0.31 中使用 JAX 进行梯度变换的唯一选项

  • Evolution 现在将 -1 加入到输入参数中。之前,负号未包含在内。

    • 在v0.29中添加了过渡警告。

    • 更新到v0.30中的当前行为。

  • qml.classical_shadowqml.shadow_expval 中,seed_recipes 参数已被移除。一个默认值为 None 的参数 seed 可以包含所需的整数种子。

    • 在v0.28和v0.29中仍然可以访问

    • 在v0.30中移除

  • get_operation 磁带方法已更新以同时返回操作索引,改变了其签名。

    • 通过在v0.29中将arg return_op_index更改为 True 可以获得新的签名

    • 在v0.30中,旧的签名被新的签名替换

  • 已移除 grouping 模块。功能已移至新的 pauli 模块,并在 pauli/utils.pypauli/grouping/ 下进行了重新组织。

    • 在v0.27、v0.28、v0.29、v0.30中仍然可用

    • 在v0.31中移除

    来自 grouping/pauli.pygrouping/transformations.pygrouping/utils.py 的函数已被移至 pauli/utils.py。剩余的函数已在 pauli/grouping/ 目录中合并。

  • qml.VQECost 已被移除。

    • 在0.13中已弃用

    • 在 0.29 中移除

  • 就地反转 — op.inv()op.inverse=value — 已被弃用。请使用 qml.adjointqml.pow 替代。

    • 仍然可以在 v0.27 和 v0.28 中访问

    • 在v0.29中移除

    不要使用:

    >>> v1 = qml.PauliX(0).inv()
    >>> v2 = qml.PauliX(0)
    >>> v2.inverse = True
    

    相反,使用:

    >>> qml.adjoint(qml.PauliX(0))
    Adjoint(PauliX(wires=[0]))
    >>> qml.pow(qml.PauliX(0), -1)
    PauliX(wires=[0])**-1
    >>> qml.pow(qml.PauliX(0), -1, lazy=False)
    PauliX(wires=[0])
    >>> qml.PauliX(0) ** -1
    PauliX(wires=[0])**-1
    
  • 方法 qml.utils.decompose_hamiltonian() 已被删除。请使用 qml.pauli_decompose()

    • 在 v0.27 中仍然可访问

    • 在v0.28中移除

  • qml.tape.get_active_tape 已被弃用。请改用 qml.QueuingManager.active_context()

    • 在 v0.27 中已弃用

    • 在v0.28中移除

  • qml.transforms.qcut.remap_tape_wires 已被弃用。请使用 qml.map_wires 替代。

    • 在v0.27中弃用

    • 在v0.28中移除

  • QuantumTape.inv() 已废弃。请改用 QuantumTape.adjoint()。该方法返回一个新的录音带,而不是就地修改自身。

    • 在v0.27中已弃用

    • 在 v0.28 中移除

  • qml.tape.stop_recordingQuantumTape.stop_recording 已移至 qml.QueuingManager.stop_recording

    • 在v0.27中已弃用

    • 在v0.28中删除

  • QueuingContext 被重命名为 QueuingManager

    • 在v0.27中已弃用名称 QueuingContext

    • 在v0.28中移除

  • QueuingManager.safe_update_infoAnnotateQueue.safe_update_info 已被移除。

    • 在 v0.27 中已弃用

    • 在v0.28中移除

  • ObservableReturnTypes Sample, Variance, Expectation, Probability, State, 和 MidMeasure 已移动到 measurementsoperation

    • 在v0.23中弃用

    • 在 v0.27 中移除

  • 函数 qml.utils.expand 已被弃用。应使用 qml.math.expand_matrix

    • 在v0.24中已弃用

    • 在v0.27中移除

  • 已移除 qml.Operation.get_parameter_shift 方法。请改用 gradients 模块的方法来使用一般的参数移位规则。

    • 在v0.22中已弃用

    • 在 v0.28 中移除

  • qml.transforms.measurement_grouping 已被移除。请改用 qml.transforms.hamiltonian_expand

    • 在 v0.28 中已弃用

    • 在v0.29中移除

  • qml.transforms.make_tape 之前已被弃用,但现在没有计划将其移除。它不再引发警告,功能保持不变。

    • 在v0.28中已弃用

    • 在 v0.29 中未被弃用