svd_theta¶
full name: tenpy.algorithms.truncation.svd_theta
parent module:
tenpy.algorithms.truncation
type: function
-
tenpy.algorithms.truncation.
svd_theta
(theta, trunc_par, qtotal_LR=[None, None], inner_labels=['vR', 'vL'])[source]¶ Performs SVD of a matrix theta (= the wavefunction) and truncates it.
Perform a singular value decomposition (SVD) with
svd()
and truncates withtruncate()
. The result is an approximationtheta ~= tensordot(U.scale_axis(S*renormalization, 1), VH, axes=1)
- Parameters
- theta
Array
, shape(M, N)
The matrix, on which the singular value decomposition (SVD) is performed. Usually, theta represents the wavefunction, such that the SVD is a Schmidt decomposition.
- trunc_pardict
truncation parameters as described in
truncate()
.- qtotalLR(charges, charges)
The total charges for the returned U and VH.
- inner_labels(string, string)
Labels for the U and VH on the newly-created bond.
- theta
- Returns
- U
Array
Matrix with left singular vectors as columns. Shape
(M, M)
or(M, K)
depending on full_matrices.- S1D ndarray
The singluar values of the array. If no cutoff is given, it has lenght
min(M, N)
. Normalized tonp.linalg.norm(S)==1
.- VH
Array
Matrix with right singular vectors as rows. Shape
(N, N)
or(K, N)
depending on full_matrices.- err
TruncationError
The truncation error introduced.
- renormalizationfloat
Factor, by which S was renormalized.
- U