qubiter.quantum_CSD_compiler.CS_Decomp module

class qubiter.quantum_CSD_compiler.CS_Decomp.CS_Decomp[source]

Bases: object

static get_csd(unitary_mats)[source]

This function does a CS (cosine-sine) decomposition (by calling the LAPACK function cuncsd.f. The old C++ Qubiter called zggsvd.f instead) of each unitary matrix in the list of arrays unitary_mats. This function is called by the constructor of the class Node and is fundamental for decomposing a unitary matrix into multiplexors and diagonal unitaries.

Parameters:unitary_mats (list(np.ndarray)) –
Returns:
Return type:list(np.ndarray), list(np.ndarray), list(np.ndarray)