jordan_wigner
jordan_wigner(operator, num_qubits)
요르단-위그너 변환 하에서 SparseObservable 연산자를 a에 대응시킵니다.
이것은 조던-위그너 변환에 대한 유형에 구애받지 않는 진입점입니다. 이는 의 구체적인 유형에 따라 적절한 직접 구현체로 operator 전달합니다. 현재는 만 지원되며 FermionOperator , 이 연산자는 로 위임됩니다 fermion_jordan_wigner(). 그 외의 연산자 유형은 해당 연산자에 대한 직접 구현이 존재할 TypeError 때까지 를 발생시킵니다.
매개변수
- operator (OperatorTrait) – 매핑할 연산자.
- num_qubits (int) – 결과적으로 얻어지는 큐비트 연산자의 큐비트 수. 이 값은 내에서 가장 큰 모드 인덱스보다 반드시 더 커야 합니다(
operator추가 큐비트가 있는 경우, 정체 연산으로 채워집니다).
리턴
매핑된 큐비트 연산자.
인상
- TypeError – 만약
operator가 조던-위그너 구현이 존재하지 않는 유형이라면. - ValueError – 가 연산자의 지지 영역을 담기에는 너무 작을
num_qubits경우.
리턴 유형
>>> 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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.