pub trait SVDTraitConst {
// Required method
fn as_raw_SVD(&self) -> *const c_void;
// Provided methods
fn u(&self) -> Mat { ... }
fn w(&self) -> Mat { ... }
fn vt(&self) -> Mat { ... }
fn back_subst(
&self,
rhs: &impl ToInputArray,
dst: &mut impl ToOutputArray,
) -> Result<()> { ... }
}
Expand description
Constant methods for core::SVD
Required Methods§
fn as_raw_SVD(&self) -> *const c_void
Provided Methods§
fn u(&self) -> Mat
fn w(&self) -> Mat
fn vt(&self) -> Mat
Sourcefn back_subst(
&self,
rhs: &impl ToInputArray,
dst: &mut impl ToOutputArray,
) -> Result<()>
fn back_subst( &self, rhs: &impl ToInputArray, dst: &mut impl ToOutputArray, ) -> Result<()>
performs a singular value back substitution.
The method calculates a back substitution for the specified right-hand side:
Using this technique you can either get a very accurate solution of the convenient linear system, or the best (in the least-squares terms) pseudo-solution of an overdetermined linear system.
§Parameters
-
rhs: right-hand side of a linear system (u*w*v’)*dst = rhs to be solved, where A has been previously decomposed.
-
dst: found solution of the system.
Note: Explicit SVD with the further back substitution only makes sense if you need to solve many linear systems with the same left-hand side (for example, src ). If all you need is to solve a single system (possibly with multiple rhs immediately available), simply call solve add pass DECOMP_SVD there. It does absolutely the same thing.
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.