pub struct TwoSiteStepResult<T: Scalar> {
pub eigenvalue: T::Real,
pub residual: T::Real,
pub iters: usize,
pub converged: bool,
pub u: DenseTensor<T>,
pub s: DenseTensor<T::Real>,
pub vt: DenseTensor<T>,
pub trunc_err: T::Real,
}Expand description
Result of a single 2-site DMRG step.
Fields§
§eigenvalue: T::RealLocal-block variational minimum (smallest H_eff eigenvalue).
residual: T::RealLocal-eigensolver true residual ‖H v − λ v‖₂.
iters: usizeNumber of local-eigensolver iterations.
converged: boolWhether the local eigensolver reported convergence (Lanczos by its absolute true-residual test, ARPACK by its relative-tol stopping criterion).
u: DenseTensor<T>Left singular vectors, shape [chi_l, d_i, chi_new].
s: DenseTensor<T::Real>Singular values, shape [chi_new], descending.
vt: DenseTensor<T>Right singular vectors, shape [chi_new, d_{i+1}, chi_r].
trunc_err: T::RealFrobenius norm of the discarded singular values.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for TwoSiteStepResult<T>
impl<T> RefUnwindSafe for TwoSiteStepResult<T>
impl<T> Send for TwoSiteStepResult<T>
impl<T> Sync for TwoSiteStepResult<T>
impl<T> Unpin for TwoSiteStepResult<T>
impl<T> UnsafeUnpin for TwoSiteStepResult<T>
impl<T> UnwindSafe for TwoSiteStepResult<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more