Trait linxal::prelude::LinxalMatrixInto
[−]
[src]
pub trait LinxalMatrixInto<F: LinxalScalar> { fn eigenvalues_into(self) -> Result<Array<F::Complex, Ix1>, EigenError>; fn eigenvalues_vectors_into(
self,
compute_left: bool,
compute_right: bool
) -> Result<Solution<F, F::Complex>, EigenError>; fn symmetric_eigenvalues_into(
self,
uplo: Symmetric
) -> Result<Array<F::RealPart, Ix1>, EigenError>; fn solve_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix1>
) -> Result<ArrayBase<D1, Ix1>, SolveError>; fn solve_symmetric_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix1>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix1>, SolveError>; fn solve_multi_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix2>
) -> Result<ArrayBase<D1, Ix2>, SolveError>; fn solve_symmetric_multi_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix2>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix2>, SolveError>; fn svd_full_into(self) -> Result<SVDSolution<F>, SVDError>; fn svd_econ_into(self) -> Result<SVDSolution<F>, SVDError>; fn singular_values_into(self) -> Result<Array<F::RealPart, Ix1>, SVDError>; fn conj_into(self) -> Self; }
All-encompassing matrix trait, supporting all of the linear
algebra operations defined for any LinxalScalar
.
Required Methods
fn eigenvalues_into(self) -> Result<Array<F::Complex, Ix1>, EigenError>
Compute the eigenvalues of a matrix.
fn eigenvalues_vectors_into(
self,
compute_left: bool,
compute_right: bool
) -> Result<Solution<F, F::Complex>, EigenError>
self,
compute_left: bool,
compute_right: bool
) -> Result<Solution<F, F::Complex>, EigenError>
Compute the eigenvalues and the right and/or left eigenvectors of a generic matrix.
fn symmetric_eigenvalues_into(
self,
uplo: Symmetric
) -> Result<Array<F::RealPart, Ix1>, EigenError>
self,
uplo: Symmetric
) -> Result<Array<F::RealPart, Ix1>, EigenError>
Compute the eigenvalues of a symmetric matrix.
fn solve_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix1>
) -> Result<ArrayBase<D1, Ix1>, SolveError>
self,
b: ArrayBase<D1, Ix1>
) -> Result<ArrayBase<D1, Ix1>, SolveError>
Solve a single system of linear equations.
fn solve_symmetric_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix1>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix1>, SolveError>
self,
b: ArrayBase<D1, Ix1>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix1>, SolveError>
Solve a single system of linear equations with a symmetrix coefficient matrix.
fn solve_multi_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix2>
) -> Result<ArrayBase<D1, Ix2>, SolveError>
self,
b: ArrayBase<D1, Ix2>
) -> Result<ArrayBase<D1, Ix2>, SolveError>
Solve a system of linear equations with multiple RHS vectors.
fn solve_symmetric_multi_linear_into<D1: DataMut<Elem = F> + DataOwned<Elem = F>>(
self,
b: ArrayBase<D1, Ix2>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix2>, SolveError>
self,
b: ArrayBase<D1, Ix2>,
uplo: Symmetric
) -> Result<ArrayBase<D1, Ix2>, SolveError>
Solve a system of linear equations with a symmetrix coefficient matrix for multiple RHS vectors.
Each column of b
is a RHS vector to be solved for.
fn svd_full_into(self) -> Result<SVDSolution<F>, SVDError>
Return the full singular value decomposition of the matrix.
The SVDSolution
contains full size matrices u
(m x m) and vt
(n x n).
fn svd_econ_into(self) -> Result<SVDSolution<F>, SVDError>
Return the economic singular value decomposition of the matrix.
The SVDSolution
contains sufficient matrices u
(m x p) and
vt
(p x n), where p
is the minimum of m
and n
.
fn singular_values_into(self) -> Result<Array<F::RealPart, Ix1>, SVDError>
Return the full singular value decomposition of the matrix.
The SVDSolution
contains full size matrices u
(m x m) and vt
(n x n).
fn conj_into(self) -> Self
Return the conjugate of the matrix.
Implementors
impl<F: LinxalScalar, D: DataMut<Elem = F> + DataOwned<Elem = F>> LinxalMatrixInto<F> for ArrayBase<D, Ix2>