OptimProblem::unitarize and OptimProblem::unitarize_grad is now supported with the distributed optimization variable.
In order to reduce the communication between processes, the classical GS orthonormalization is used. It has been observed that the condition number for classical GS is not so large, as intermediate states remain close to unitary state.
utils/compute_inner_product now follows the conventional inner product between complex vectors.
OptimProblem stores the original optimization variable into x_b4unit before unitarization, which is required for gradient calculation.
OptimProblem::unitarize
andOptimProblem::unitarize_grad
is now supported with the distributed optimization variable.utils/compute_inner_product
now follows the conventional inner product between complex vectors.OptimProblem
stores the original optimization variable intox_b4unit
before unitarization, which is required for gradient calculation.