Template Function Karana::Math::analyzeRank

Template Function Karana::Math::analyzeRank#

Function Documentation#

template<typename Derived>
const RankInfo Karana::Math::analyzeRank(const Eigen::MatrixBase<Derived> &mat, unsigned int expected_rank = std::numeric_limits<unsigned int>::max(), double threshold = 1e-12)#

Analyze the rank and conditioning of a matrix, optionally within a k-dimensional subspace. This is useful for detecting when singular poses arise within matrices that are always numerically singular but kinematically okay.

Template Parameters:

Derived – Eigen matrix type

Parameters:
  • mat – The matrix to analyze

  • expected_rank – Expected rank k of the matrix, used to compute a relative condition number

  • threshold – Threshold for detecting “zero” singular values

Returns:

const RankInfo A struct containing rank information