#include <boost/qvm/mat_operations.hpp>
namespace boost
{
namespace qvm
{
//Only enabled if:
// is_mat<A>::value && is_scalar<B>::value
// mat_traits<A>::rows==mat_traits<A>::cols
template <class A,class B>
typename deduce_mat<A>::type
inverse( A const & a, B det );
template <class A>
typename deduce_mat<A>::type
inverse( A const & a );
}
}
det!=scalar_traits<typename mat_traits<A>::scalar_type>::value(0)
Both overloads compute the inverse of a. The first overload takes the pre-computed determinant of a.
The second overload computes the determinant automatically and throws zero_determinant_error if the computed determinant is zero.