Trait linxal::svd::general::SVD
[−]
[src]
pub trait SVD: LinxalImplScalar { fn compute_into<D>(
mat: ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError>
where
D: DataMut<Elem = Self> + DataOwned<Elem = Self>; fn compute<D>(
mat: &ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError>
where
D: Data<Elem = Self>, { ... } }
Trait for scalars that can implement SVD.
Required Methods
fn compute_into<D>(
mat: ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError> where
D: DataMut<Elem = Self> + DataOwned<Elem = Self>,
mat: ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError> where
D: DataMut<Elem = Self> + DataOwned<Elem = Self>,
Compute the singular value decomposition of a matrix.
Use Self::compute
when you don't wnat to consume the input
matrix.
On success, returns an SVDSolution
, which always contains the
singular values and optionally contains the left and right
singular vectors. The left vectors (via the matrix u
) are
returned iff compute_u
is true, and similarly for vt
and
compute_vt
.
Provided Methods
fn compute<D>(
mat: &ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError> where
D: Data<Elem = Self>,
mat: &ArrayBase<D, Ix2>,
compute_vectors: SVDComputeVectors
) -> Result<SVDSolution<Self>, SVDError> where
D: Data<Elem = Self>,
Comptue the singular value decomposition of a matrix.
Similar to SVD::compute_into
, but
the values are copied beforehand. leaving the original matrix
un-modified.