quri_parts.circuit.transpile.unitary_matrix_decomposer module#
- su2_decompose(ut, eps=1e-15)#
- Parameters:
- ut (Sequence[Sequence[complex]]) – 
- eps (float) – 
 
- Return type:
- ndarray[Any, dtype[float64]] 
 
- su4_decompose(ut, eiglim=1e-10)#
- Parameters:
- ut (Sequence[Sequence[complex]]) – 
- eiglim (float) – 
 
- Return type:
- tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]] 
 
- class SingleQubitUnitaryMatrix2RYRZTranspiler(*args, **kwargs)#
- Bases: - GateDecomposer- CircuitTranspiler, which decomposes single qubit UnitaryMatrix gates into gate sequences containing RY and RZ gates. - Ref:
- [1]: Tomonori Shirakawa, Hiroshi Ueda, and Seiji Yunoki,
- Automatic quantum circuit encoding of a given arbitrary quantum state, arXiv:2112.14524v1, p.22, (2021). 
- [2]: Main functions are ported from the source code wrtitten by Sota Morisaki
- in QunaSys intern project. 
 
 - is_target_gate(gate)#
- Determine if a given gate is subject to decomposition. - Parameters:
- gate (QuantumGate) – Gates in the circuit that are scanned from the front. 
- Return type:
- bool 
 
 - decompose(gate)#
- Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed. - Parameters:
- gate (QuantumGate) – The gates to be decomposed. 
- Return type:
- Sequence[QuantumGate] 
 
 
- class TwoQubitUnitaryMatrixKAKTranspiler(*args, **kwargs)#
- Bases: - GateDecomposer- CircuitTranspiler, which decomposes two qubit UnitaryMatrix gates into gate sequences containing H, S, RX, RY, RZ, and CNOT gates. - Raises:
- ValueError – Depending on the nature of the unitary matrix of the input UnitaryMatrix gate, the decomposition may fail and throw an error. 
 - Ref:
- [1]: Tomonori Shirakawa, Hiroshi Ueda, and Seiji Yunoki,
- Automatic quantum circuit encoding of a given arbitrary quantum state, arXiv:2112.14524v1, pp.4-5, (2021). 
- [2]: Main functions are ported from the source code wrtitten by Sota Morisaki
- in QunaSys intern project. 
 
 - is_target_gate(gate)#
- Determine if a given gate is subject to decomposition. - Parameters:
- gate (QuantumGate) – Gates in the circuit that are scanned from the front. 
- Return type:
- bool 
 
 - decompose(gate)#
- Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed. - Parameters:
- gate (QuantumGate) – The gates to be decomposed. 
- Return type:
- Sequence[QuantumGate]