Tensor-decomposition tools
ElemCo.DecompTools
— ModuleThis module contains functions for tensor decomposition methods.
Exported functions
ElemCo.DecompTools.calc_integrals_decomposition
— Methodcalc_integrals_decomposition(EC::ECInfo)
Decompose $v_{pr}^{qs}$ as $v_p^{qL} v_r^{sL}$ and store as mmL
.
ElemCo.DecompTools.eigen_decompose
— Functioneigen_decompose(T2mat, nvirt, nocc, tol=1e-6)
Eigenvector-decompose symmetric doubles T2[ai,bj]
matrix: $T^{ij}_{ab} = U^{iX}_a T_{XY} U^{jY}_b δ_{XY}$. Return $U^iX_a$ as U[a,i,X]
for $T_{XX}$ > tol
ElemCo.DecompTools.iter_svd_decompose
— Methoditer_svd_decompose(Amat, nvirt, nocc, naux)
Iteratively decompose A[ai,ξ]
as $U^{iX}_a Σ_X δ_{XY} V^Y_ξ$. Return $U^{iX}_a$ as U[a,i,X]
for first naux
$Σ_X$
ElemCo.DecompTools.rotate_U2pseudocanonical
— Methodrotate_U2pseudocanonical(EC::ECInfo, UaiX)
Diagonalize ϵv - ϵo transformed with UaiX (for update). Return eigenvalues and rotated UaiX
ElemCo.DecompTools.svd_decompose
— Functionsvd_decompose(Amat, tol=1e-6)
SVD-decompose A[ξ,ξ']
as $U^{X}_{ξ} Σ_X δ_{XY} V^{Y}_{ξ'}$. Return $U^{X}_{ξ}$ as U[ξ,X]
for $Σ_X$ > tol
ElemCo.DecompTools.svd_decompose
— Functionsvd_decompose(Amat, nvirt, nocc, tol=1e-6)
SVD-decompose A[ai,ξ]
as $U^{iX}_a Σ_X δ_{XY} V^{Y}_{ξ}$. Return $U^{iX}_a$ as U[a,i,X]
for $Σ_X$ > tol