opencv::prelude

Trait SVDTraitConst

Source
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§

Provided Methods§

Source

fn u(&self) -> Mat

Source

fn w(&self) -> Mat

Source

fn vt(&self) -> Mat

Source

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:

block formula

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.

Implementors§