pub trait SVDTraits {
type A: Scalar;
Show 16 methods
// Required methods
fn to_qr(self) -> Result<QR<Self::A>>;
fn compute_from(arr: ArrayView2<'_, Self::A>) -> Result<SVD<Self::A>>;
fn compute_from_range_estimate<Op: ConjMatMat<A = Self::A>>(
range: ArrayView2<'_, Self::A>,
op: &Op,
) -> Result<SVD<Self::A>>;
fn get_u(&self) -> ArrayView2<'_, Self::A>;
fn get_s(&self) -> ArrayView1<'_, <Self::A as Scalar>::Real>;
fn get_vt(&self) -> ArrayView2<'_, Self::A>;
fn get_u_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
fn get_s_mut(&mut self) -> ArrayViewMut1<'_, <Self::A as Scalar>::Real>;
fn get_vt_mut(&mut self) -> ArrayViewMut2<'_, Self::A>;
// Provided methods
fn nrows(&self) -> usize { ... }
fn ncols(&self) -> usize { ... }
fn rank(&self) -> usize { ... }
fn to_mat(&self) -> Array2<Self::A> { ... }
fn compress(
&self,
compression_type: CompressionType,
) -> Result<SVD<Self::A>> { ... }
fn compress_svd_rank(&self, max_rank: usize) -> Result<SVD<Self::A>> { ... }
fn compress_svd_tolerance(&self, tol: f64) -> Result<SVD<Self::A>> { ... }
}Expand description
SVD Traits
Required Associated Types§
Required Methods§
fn compute_from(arr: ArrayView2<'_, Self::A>) -> Result<SVD<Self::A>>
Sourcefn compute_from_range_estimate<Op: ConjMatMat<A = Self::A>>(
range: ArrayView2<'_, Self::A>,
op: &Op,
) -> Result<SVD<Self::A>>
fn compute_from_range_estimate<Op: ConjMatMat<A = Self::A>>( range: ArrayView2<'_, Self::A>, op: &Op, ) -> Result<SVD<Self::A>>
Compute a singular value decomposition from a range estimate
§Arguments
range: A matrix with orthogonal columns that approximates the range of the operator.op: The underlying operator.
fn get_u(&self) -> ArrayView2<'_, Self::A>
fn get_s(&self) -> ArrayView1<'_, <Self::A as Scalar>::Real>
fn get_vt(&self) -> ArrayView2<'_, Self::A>
fn get_u_mut(&mut self) -> ArrayViewMut2<'_, Self::A>
fn get_s_mut(&mut self) -> ArrayViewMut1<'_, <Self::A as Scalar>::Real>
fn get_vt_mut(&mut self) -> ArrayViewMut2<'_, Self::A>
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.