Why Qiskit shows the arrows shorter? Is it a bug or a feature (partially entangled states)?
The arrows are shorter because of entanglement. This behavior is described in Qiskit's textbook. One easy way to measure the entanglement in this bipartite state is by using
What is the second rotation of q1
For a multi-qubit quantum state, here is how you can get the cartesian coordinates of Bloch sphere vectors. Use these coordinates to calculate the angles.
from qiskit.visualization.utils import _bloch_multivector_data
bloch_data = (_bloch_multivector_data(state))
I need Rxx gate to implement CNOT as a set of physical rotations with a correct "Phase Kickback".
TwoQubitBasisDecomposer class which can be used to decompose a 2-qubit unitary into minimal number of uses of a 2-qubit basis gate. Using this class you can implement CNOT using Rxx as follows:
from qiskit.circuit.library import CXGate, RXXGate
from qiskit.quantum_info.synthesis import TwoQubitBasisDecomposer
decomposer = TwoQubitBasisDecomposer(RXXGate(np.pi / 2), basis_fidelity = 1.0)
circ = decomposer(CXGate().to_matrix())