pub struct SVD { /* private fields */ }Expand description
Singular Value Decomposition
Class for computing Singular Value Decomposition of a floating-point matrix. The Singular Value Decomposition is used to solve least-square problems, under-determined linear systems, invert matrices, compute condition numbers, and so on.
If you want to compute a condition number of a matrix or an absolute value of
its determinant, you do not need u and vt. You can pass
flags=SVD::NO_UV|… . Another flag SVD::FULL_UV indicates that full-size u
and vt must be computed, which is not necessary most of the time.
See also
invert, solve, eigen, determinant
Implementations
sourceimpl SVD
impl SVD
sourcepub fn new(src: &dyn ToInputArray, flags: i32) -> Result<SVD>
pub fn new(src: &dyn ToInputArray, flags: i32) -> Result<SVD>
the default constructor
initializes an empty SVD structure
Overloaded parameters
initializes an empty SVD structure and then calls SVD::operator()
Parameters
- src: decomposed matrix. The depth has to be CV_32F or CV_64F.
- flags: operation flags (SVD::Flags)
C++ default parameters
- flags: 0
sourcepub fn compute_ext(
src: &dyn ToInputArray,
w: &mut dyn ToOutputArray,
u: &mut dyn ToOutputArray,
vt: &mut dyn ToOutputArray,
flags: i32
) -> Result<()>
pub fn compute_ext(
src: &dyn ToInputArray,
w: &mut dyn ToOutputArray,
u: &mut dyn ToOutputArray,
vt: &mut dyn ToOutputArray,
flags: i32
) -> Result<()>
decomposes matrix and stores the results to user-provided matrices
The methods/functions perform SVD of matrix. Unlike SVD::SVD constructor and SVD::operator(), they store the results to the user-provided matrices:
Mat A, w, u, vt;
SVD::compute(A, w, u, vt);Parameters
- src: decomposed matrix. The depth has to be CV_32F or CV_64F.
- w: calculated singular values
- u: calculated left singular vectors
- vt: transposed matrix of right singular vectors
- flags: operation flags - see SVD::Flags.
C++ default parameters
- flags: 0
sourcepub fn compute(
src: &dyn ToInputArray,
w: &mut dyn ToOutputArray,
flags: i32
) -> Result<()>
pub fn compute(
src: &dyn ToInputArray,
w: &mut dyn ToOutputArray,
flags: i32
) -> Result<()>
@todo document
Overloaded parameters
computes singular values of a matrix
Parameters
- src: decomposed matrix. The depth has to be CV_32F or CV_64F.
- w: calculated singular values
- flags: operation flags - see SVD::Flags.
C++ default parameters
- flags: 0
sourcepub fn back_subst_multi(
w: &dyn ToInputArray,
u: &dyn ToInputArray,
vt: &dyn ToInputArray,
rhs: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
pub fn back_subst_multi(
w: &dyn ToInputArray,
u: &dyn ToInputArray,
vt: &dyn ToInputArray,
rhs: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
performs back substitution
sourcepub fn solve_z(
src: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
pub fn solve_z(
src: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
solves an under-determined singular linear system
The method finds a unit-length solution x of a singular linear system
A*x = 0. Depending on the rank of A, there can be no solutions, a
single solution or an infinite number of solutions. In general, the
algorithm solves the following problem:
Parameters
- src: left-hand-side matrix.
- dst: found solution.
Trait Implementations
sourceimpl Boxed for SVD
impl Boxed for SVD
sourceimpl SVDTraitConst for SVD
impl SVDTraitConst for SVD
fn as_raw_SVD(&self) -> *const c_void
fn u(&self) -> Mat
fn w(&self) -> Mat
fn vt(&self) -> Mat
sourcefn back_subst(
&self,
rhs: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
fn back_subst(
&self,
rhs: &dyn ToInputArray,
dst: &mut dyn ToOutputArray
) -> Result<()>
performs a singular value back substitution. Read more
impl Send for SVD
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more