Skip to main content
IBM Quantum Platform

jordan_wigner

jordan_wigner(operator, num_qubits)

ジョーダン・ウィグナー変換の下 SparseObservable で、演算子を に写像する。

これは、型に依存しないジョーダン・ウィグナー変換へのエントリポイントです。 これは、具体的な型 に対して、適切な直接実装 operator に処理を委譲します。 現在は のみがサポート FermionOperator されており、には委譲されます fermion_jordan_wigner()。その他の演算子タイプについては、その直接の実装が存在する TypeError まで が発生します。

パラメーター

  • operator (OperatorTrait) – マッピングする演算子。
  • num_qubits (int) – 結果として得られる量子ビット演算子の量子ビット数。 これは、(における最大のモードインデックスよりも厳密に大きくなければならない(それ以上のクビットについては、恒等演算子で埋められる) operator )。

戻り値

写像された量子ビット演算子。

昇給

  • TypeError – もし が、ジョーダン・ウィグナー法による実装が存在しない型である operator 場合。
  • ValueError – が、演算子の支持集合を収容するには小さすぎる num_qubits 場合。

戻りの型

SparseObservable

>>> from qiskit_fermions.mappers.library import jordan_wigner
>>> from qiskit_fermions.operators import FermionOperator
>>> fop = FermionOperator.from_dict({((True, 0), (False, 0)): 0.1})
>>> jordan_wigner(fop, 2).simplify()
<SparseObservable with 2 terms on 2 qubits: (0.05+0j)() + (-0.05+0j)(Z_0)>

直接の実装がない演算子型は、次の例外を発生させます TypeError

>>> from qiskit_fermions.operators import MajoranaOperator
>>> mop = MajoranaOperator.from_dict({(0, 1): 1.0})
>>> jordan_wigner(mop, 2)
Traceback (most recent call last):
...
TypeError: jordan_wigner does not support operator type 'MajoranaOperator'; only FermionOperator is supported today.
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。