텐서 네트워크 시뮬레이션
qiskit_addon_aqc_tensor.simulation
이 모듈은 어떤 백엔드를 사용하든 상관없는 텐서 네트워크 시뮬레이션에 대한 인터페이스를 제공합니다.
현재 키스킷 에어 매트릭스-제품 상태(MPS) 시뮬레이터를 백엔드로 사용하는 단일 구현이 있습니다.
사용 가능한 백엔드
함수
다음 함수는 지원되는 모든 백엔드에서 사용할 수 있는 공통 인터페이스를 제공합니다. 어떤 백엔드를 사용하든 이러한 함수를 공통 인터페이스로 호출할 수 있습니다.
아래의 각 함수에서는 해당 함수에 사용할 수 있는 모든 구현을 문서에서 확인할 수 있습니다. 애드온은 사용자가 제공한 인수의 유형에 따라 사용할 구현을 선택합니다. (이 패러다임을 "다중 파견"이라고 합니다.)
tensornetwork_from_circuit
tensornetwork_from_circuit(qc, settings, /)
양자 회로를 시뮬레이션하여 텐서 네트워크 상태를 생성합니다.
텐서 네트워크 상태의 유형은 settings 객체의 유형에 해당합니다. 예를 들어, a QiskitAerSimulationSettings 를 반환하면 이 함수는 QiskitAerMPS.
tensornetwork_from_circuit(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, settings: qiskit_addon_aqc_tensor.simulation.aer.simulation.QiskitAerSimulationSettings | plum.type.ModuleType[qiskit_aer.AerSimulator], /, *, out_state: numpy.ndarray | None = None) → qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS
매개변수
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
리턴 유형
tensornetwork_from_circuit(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, settings: qiskit_addon_aqc_tensor.simulation.quimb.QuimbSimulator, /, *, out_state: numpy.ndarray | None = None) → quimb.tensor.Circuit
매개변수
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
리턴 유형
리턴 유형
매개변수
- qc (QuantumCircuit)
- settings (TensorNetworkSimulationSettings)
apply_circuit_to_state
apply_circuit_to_state(qc, psi, settings, /, *, out_state=None)
텐서 네트워크 상태에 양자 회로를 적용합니다.
입력 상태(psi)는 수정되지 않습니다.
리턴 유형
리턴
새 상태입니다.
매개변수
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
apply_circuit_to_state(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, psi: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, settings: qiskit_addon_aqc_tensor.simulation.aer.simulation.QiskitAerSimulationSettings | plum.type.ModuleType[qiskit_aer.AerSimulator], /, *, out_state: numpy.ndarray | None = None) → qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS
매개변수
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
리턴 유형
apply_circuit_to_state(qc: qiskit.circuit.quantumcircuit.QuantumCircuit, circ0: plum.type.ModuleType[quimb.tensor.Circuit], settings: qiskit_addon_aqc_tensor.simulation.quimb.QuimbSimulator, /, *, out_state: numpy.ndarray | None = None) → quimb.tensor.Circuit
매개변수
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
리턴 유형
텐서 네트워크 상태에 양자 회로를 적용합니다.
입력 상태(psi)는 수정되지 않습니다.
리턴
새 상태입니다.
매개변수
- qc (QuantumCircuit)
- psi (TensorNetworkState)
- settings (TensorNetworkSimulationSettings)
- out_state (ndarray | None)
리턴 유형
compute_overlap
compute_overlap(psi_1, psi_2, /)
두 양자 상태의 중첩 계산: .
참고: numpy.dot 과 달리 이 메서드의 구현은 첫 번째 인수에 대해 복잡한 활용을 수행합니다.
매개변수
- psi_1 (
TensorNetworkState) – 첫 번째 양자 상태. - psi_2 (
TensorNetworkState) – 두 번째 양자 상태.
리턴 유형
리턴
복잡한 도트 제품 값입니다.
compute_overlap(mps1: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, mps2: qiskit_addon_aqc_tensor.simulation.aer.state.QiskitAerMPS, /) → complex
매개변수
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
리턴 유형
compute_overlap(circ1: plum.type.ModuleType[quimb.tensor.Circuit], circ2: plum.type.ModuleType[quimb.tensor.Circuit], /) → complex
매개변수
- psi_1 (TensorNetworkState)
- psi_2 (TensorNetworkState)
리턴 유형
추상 클래스
이들은 각 백엔드에서 구현되는 추상 클래스입니다.