Merge pull request #1883 from philippefoubert:branch_matx_inv
This commit is contained in:
commit
8db53c1760
@ -153,8 +153,8 @@ public:
|
|||||||
//! transpose the matrix
|
//! transpose the matrix
|
||||||
Matx<_Tp, n, m> t() const;
|
Matx<_Tp, n, m> t() const;
|
||||||
|
|
||||||
//! invert matrix the matrix
|
//! invert the matrix
|
||||||
Matx<_Tp, n, m> inv(int method=DECOMP_LU) const;
|
Matx<_Tp, n, m> inv(int method=DECOMP_LU, bool *p_is_ok = NULL) const;
|
||||||
|
|
||||||
//! solve linear system
|
//! solve linear system
|
||||||
template<int l> Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const;
|
template<int l> Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const;
|
||||||
|
@ -186,7 +186,7 @@ Matx<_Tp,m,n> Matx<_Tp,m,n>::randn(_Tp a, _Tp b)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename _Tp, int m, int n> inline
|
template<typename _Tp, int m, int n> inline
|
||||||
Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method) const
|
Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method, bool *p_is_ok /*= NULL*/) const
|
||||||
{
|
{
|
||||||
Matx<_Tp, n, m> b;
|
Matx<_Tp, n, m> b;
|
||||||
bool ok;
|
bool ok;
|
||||||
@ -197,6 +197,7 @@ Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method) const
|
|||||||
Mat A(*this, false), B(b, false);
|
Mat A(*this, false), B(b, false);
|
||||||
ok = (invert(A, B, method) != 0);
|
ok = (invert(A, B, method) != 0);
|
||||||
}
|
}
|
||||||
|
if( NULL != p_is_ok ) { *p_is_ok = ok; }
|
||||||
return ok ? b : Matx<_Tp, n, m>::zeros();
|
return ok ? b : Matx<_Tp, n, m>::zeros();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user