qiskit.circuit.library.z_feature_map
qiskit.circuit.library.z_feature_map(feature_dimension, reps=2, entanglement='full', alpha=2.0, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZFeatureMap')
첫 번째 차수 폴리 Z-진화 회로.
3개의 큐비트와 2개의 반복으로 회로는 다음과 같이 표현됩니다:
┌───┐┌─────────────┐┌───┐┌─────────────┐
┤ H ├┤ P(2.0*x[0]) ├┤ H ├┤ P(2.0*x[0]) ├
├───┤├─────────────┤├───┤├─────────────┤
┤ H ├┤ U(2.0*x[1]) ├┤ H ├┤ P(2.0*x[1]) ├
├───┤├─────────────┤├───┤├─────────────┤
┤ H ├┤ P(2.0*x[2]) ├┤ H ├┤ P(2.0*x[2]) ├
└───┘└─────────────┘└───┘└─────────────┘이것은 하위 클래스입니다 PauliFeatureMap 여기서 파울리 현은 ['Z'] 로 고정되어 있습니다. 결과적으로 첫 번째 차수 확장은 게이트가 얽히지 않는 회로가 됩니다.
매개변수
- 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) – 회로의 이름.
리턴
Z 피처 맵을 구현하는 양자 회로.
리턴 유형
예제
>>> from qiskit.circuit.library import z_feature_map
>>> prep = z_feature_map(3, reps=3, insert_barriers=True)
>>> print(prep)
┌───┐ ░ ┌─────────────┐ ░ ┌───┐ ░ ┌─────────────┐ ░ ┌───┐ ░ ┌─────────────┐
q_0: ┤ H ├─░─┤ P(2.0*x[0]) ├─░─┤ H ├─░─┤ P(2.0*x[0]) ├─░─┤ H ├─░─┤ P(2.0*x[0]) ├
├───┤ ░ ├─────────────┤ ░ ├───┤ ░ ├─────────────┤ ░ ├───┤ ░ ├─────────────┤
q_1: ┤ H ├─░─┤ P(2.0*x[1]) ├─░─┤ H ├─░─┤ P(2.0*x[1]) ├─░─┤ H ├─░─┤ P(2.0*x[1]) ├
├───┤ ░ ├─────────────┤ ░ ├───┤ ░ ├─────────────┤ ░ ├───┤ ░ ├─────────────┤
q_2: ┤ H ├─░─┤ P(2.0*x[2]) ├─░─┤ H ├─░─┤ P(2.0*x[2]) ├─░─┤ H ├─░─┤ P(2.0*x[2]) ├
└───┘ ░ └─────────────┘ ░ └───┘ ░ └─────────────┘ ░ └───┘ ░ └─────────────┘>>> data_map = lambda x: x[0]*x[0] + 1 # note: input is an array
>>> prep = z_feature_map(3, reps=1, data_map_func=data_map)
>>> print(prep)
┌───┐┌──────────────────────┐
q_0: ┤ H ├┤ P(2.0*x[0]**2 + 2.0) ├
├───┤├──────────────────────┤
q_1: ┤ H ├┤ P(2.0*x[1]**2 + 2.0) ├
├───┤├──────────────────────┤
q_2: ┤ H ├┤ P(2.0*x[2]**2 + 2.0) ├
└───┘└──────────────────────┘>>> from qiskit.circuit.library import n_local
>>> circuit = n_local(3, "ry", "cz", reps=1).decompose()
>>> classifier = z_feature_map(3, reps=1)
>>> classifier.append(circuit, list(range(classifier.num_qubits)))
>>> print(classifier)
┌───┐┌─────────────┐┌──────────┐ ┌──────────┐
q_0: ┤ H ├┤ P(2.0*x[0]) ├┤ RY(θ[0]) ├─■──■─┤ RY(θ[3]) ├────────────
├───┤├─────────────┤├──────────┤ │ │ └──────────┘┌──────────┐
q_1: ┤ H ├┤ P(2.0*x[1]) ├┤ RY(θ[1]) ├─■──┼──────■──────┤ RY(θ[4]) ├
├───┤├─────────────┤├──────────┤ │ │ ├──────────┤
q_2: ┤ H ├┤ P(2.0*x[2]) ├┤ RY(θ[2]) ├────■──────■──────┤ RY(θ[5]) ├
└───┘└─────────────┘└──────────┘ └──────────┘이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.