qiskit.circuit.library.zz_feature_map
qiskit.circuit.library.zz_feature_map(feature_dimension, reps=2, entanglement='full', alpha=2.0, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZZFeatureMap')
2차 폴리-Z 진화 회로.
3 큐비트와 1 반복 및 선형 얽힘의 경우 회로는 다음과 같이 표현됩니다:
┌───┐┌────────────────┐
┤ H ├┤ P(2.0*φ(x[0])) ├──■───────────────────────────■───────────────────────────────────
├───┤├────────────────┤┌─┴─┐┌─────────────────────┐┌─┴─┐
┤ H ├┤ P(2.0*φ(x[1])) ├┤ X ├┤ P(2.0*φ(x[0],x[1])) ├┤ X ├──■───────────────────────────■──
├───┤├────────────────┤└───┘└─────────────────────┘└───┘┌─┴─┐┌─────────────────────┐┌─┴─┐
┤ H ├┤ P(2.0*φ(x[2])) ├─────────────────────────────────┤ X ├┤ P(2.0*φ(x[1],x[2])) ├┤ X ├
└───┘└────────────────┘ └───┘└─────────────────────┘└───┘여기서 는 고전적인 비선형 함수이며, 일 경우 기본값은 이고, 일 경우 이며, 는 특징 맵 내의 연결을 설명하는 큐비트 인덱스의 집합이다. 자세한 내용은 pauli_feature_map() 의 docstring을 참조하십시오.
매개변수
- feature_dimension (int) – 회로의 큐비트 수.
- reps (int) – 진화 레이어가 반복되는 횟수.
- entanglement (str |Sequence[Sequence[int]] | Callable[[int], str |Sequence[Sequence[int]]]) – 얽힘 구조를 지정합니다. 문자열(
'full','linear','reverse_linear','circular'또는'sca'), 정수 튜플의 리스트, 또는 반복할 때마다 이러한 유형의 값을 반환하는 호출 가능 객체일 수 있습니다. - alpha (float) – 파울리 회전 인자, 파울리 회전에 곱해지는 인자.
- data_map_func (Callable[[Parameter], ParameterExpression] | None) – 기본 매핑을 재정의하기 위해 전달할 수 있는
x데이터용 매핑 함수입니다. - parameter_prefix (str) – 기본 매개변수가 생성될 때 사용되는 접두사.
- insert_barriers (bool) – 이 경우
True, 진화 명령어와 하다마르 층 사이에 장벽이 삽입된다. - name (str) – 회로의 이름.
리턴
ZZ 피처 맵을 구현하는 양자 회로.
리턴 유형
예제
>>> from qiskit.circuit.library import zz_feature_map
>>> prep = zz_feature_map(2, reps=1)
>>> print(prep)
┌───┐┌─────────────┐
q_0: ┤ H ├┤ P(2.0*x[0]) ├──■──────────────────────────────────────■──
├───┤├─────────────┤┌─┴─┐┌────────────────────────────────┐┌─┴─┐
q_1: ┤ H ├┤ P(2.0*x[1]) ├┤ X ├┤ P(2.0*(pi - x[0])*(pi - x[1])) ├┤ X ├
└───┘└─────────────┘└───┘└────────────────────────────────┘└───┘>>> from qiskit.circuit.library import efficient_su2
>>> classifier = zz_feature_map(3).compose(efficient_su2(3))
>>> classifier.num_parameters
27
>>> classifier.parameters # 'x' for the data preparation, 'θ' for the SU2 parameters
ParameterView([
ParameterVectorElement(x[0]), ParameterVectorElement(x[1]),
ParameterVectorElement(x[2]), ParameterVectorElement(θ[0]),
ParameterVectorElement(θ[1]), ParameterVectorElement(θ[2]),
ParameterVectorElement(θ[3]), ParameterVectorElement(θ[4]),
ParameterVectorElement(θ[5]), ParameterVectorElement(θ[6]),
ParameterVectorElement(θ[7]), ParameterVectorElement(θ[8]),
ParameterVectorElement(θ[9]), ParameterVectorElement(θ[10]),
ParameterVectorElement(θ[11]), ParameterVectorElement(θ[12]),
ParameterVectorElement(θ[13]), ParameterVectorElement(θ[14]),
ParameterVectorElement(θ[15]), ParameterVectorElement(θ[16]),
ParameterVectorElement(θ[17]), ParameterVectorElement(θ[18]),
ParameterVectorElement(θ[19]), ParameterVectorElement(θ[20]),
ParameterVectorElement(θ[21]), ParameterVectorElement(θ[22]),
ParameterVectorElement(θ[23])
])이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.