pub struct TruncatedEig<A: Scalar> {
pub constraints: Option<Array2<A>>,
/* private fields */
}
Expand description
Truncated eigenproblem solver
This struct wraps the LOBPCG algorithm and provides convenient builder-pattern access to parameter like maximal iteration, precision and constraint matrix. Furthermore it allows conversion into a iterative solver where each iteration step yields a new eigenvalue/vector pair.
Fields§
§constraints: Option<Array2<A>>
Implementations§
source§impl<A: Float + Scalar + ScalarOperand + Lapack + PartialOrd + Default> TruncatedEig<A>
impl<A: Float + Scalar + ScalarOperand + Lapack + PartialOrd + Default> TruncatedEig<A>
pub fn new(problem: Array2<A>, order: Order) -> TruncatedEig<A>
pub fn precision(self, precision: f32) -> Self
pub fn maxiter(self, maxiter: usize) -> Self
pub fn orthogonal_to(self, constraints: Array2<A>) -> Self
pub fn precondition_with(self, preconditioner: Array2<A>) -> Self
pub fn decompose(&self, num: usize) -> LobpcgResult<A>
Trait Implementations§
Auto Trait Implementations§
impl<A> Freeze for TruncatedEig<A>
impl<A> RefUnwindSafe for TruncatedEig<A>where
A: RefUnwindSafe,
impl<A> Send for TruncatedEig<A>where
A: Send,
impl<A> Sync for TruncatedEig<A>where
A: Sync,
impl<A> Unpin for TruncatedEig<A>
impl<A> UnwindSafe for TruncatedEig<A>where
A: RefUnwindSafe,
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