pub trait SolveH<A: Scalar> {
// Required method
fn solveh_inplace<'a>(
&self,
b: &'a mut ArrayRef<A, Ix1>,
) -> Result<&'a mut ArrayRef<A, Ix1>>;
// Provided methods
fn solveh(&self, b: &ArrayRef<A, Ix1>) -> Result<Array1<A>> { ... }
fn solveh_into<S: DataMut<Elem = A>>(
&self,
b: ArrayBase<S, Ix1>,
) -> Result<ArrayBase<S, Ix1>> { ... }
}Expand description
An interface for solving systems of Hermitian (or real symmetric) linear equations.
If you plan to solve many equations with the same Hermitian (or real
symmetric) coefficient matrix A but different b vectors, it’s faster to
factor the A matrix once using the FactorizeH trait, and then solve
using the BKFactorized struct.
Required Methods§
Sourcefn solveh_inplace<'a>(
&self,
b: &'a mut ArrayRef<A, Ix1>,
) -> Result<&'a mut ArrayRef<A, Ix1>>
fn solveh_inplace<'a>( &self, b: &'a mut ArrayRef<A, Ix1>, ) -> Result<&'a mut ArrayRef<A, Ix1>>
Solves a system of linear equations A * x = b with Hermitian (or real
symmetric) matrix A, where A is self, b is the argument, and
x is the successful result. The value of x is also assigned to the
argument.
§Panics
Panics if the length of b is not the equal to the number of columns
of A.
Provided Methods§
Sourcefn solveh(&self, b: &ArrayRef<A, Ix1>) -> Result<Array1<A>>
fn solveh(&self, b: &ArrayRef<A, Ix1>) -> Result<Array1<A>>
Solves a system of linear equations A * x = b with Hermitian (or real
symmetric) matrix A, where A is self, b is the argument, and
x is the successful result.
§Panics
Panics if the length of b is not the equal to the number of columns
of A.
Sourcefn solveh_into<S: DataMut<Elem = A>>(
&self,
b: ArrayBase<S, Ix1>,
) -> Result<ArrayBase<S, Ix1>>
fn solveh_into<S: DataMut<Elem = A>>( &self, b: ArrayBase<S, Ix1>, ) -> Result<ArrayBase<S, Ix1>>
Solves a system of linear equations A * x = b with Hermitian (or real
symmetric) matrix A, where A is self, b is the argument, and
x is the successful result.
§Panics
Panics if the length of b is not the equal to the number of columns
of A.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".