supergrad.quantum_system.CircuitLCJ.unify_state_phase

supergrad.quantum_system.CircuitLCJ.unify_state_phase#

CircuitLCJ.unify_state_phase(operator: Array)[source]#

Adjusts the phase of eigenstates to meet the condition <i|m|i+1> matrix elements are real positive.

This is to follow the simple idea we are always looking at phase defined by pulse. So for charge drive, let the <0|n|1> be real positive is natural. For flux drive similar condition exists.

Only bands within truncated_dim are considered.

Require eigvec_in_raw_basis computed before calling this function.

Parameters:

operator – This is to specify which drive is used, so eigenstates are rotated to let <i|drive|i+1> be real positive Possible values are n_operator (in eigenbasis) and phi_operator (in eigenbasis).

Returns:

Modified eigvec_in_raw_basis.