|
double | degToRad (const double &_deg) |
| The degToRad function converts degrees to radians. More...
|
|
double | radToDeg (const double &_rad) |
| The radToDeg function converts radians to degrees. More...
|
|
double | wrapAngleToPi (const double &_rad) |
| The wrapAngleToPi function wraps an input angle to the interval [-pi, pi). More...
|
|
double | wrapAngleTo2Pi (const double &_rad) |
| The wrapAngleTo2Pi function wraps an input angle to the interval [0, 2pi). More...
|
|
double | angleDiff (const double &_ang1, const double &_ang2) |
| The angleDiff function returns the difference in angle between two given angles in the interval [0, pi) More...
|
|
template<typename Matrix_TypeA , typename Matrix_TypeB > |
static bool | dampedPseudoInverse (const Matrix_TypeA &_J, Matrix_TypeB &_dPinvJ, const double _lambda=0, const double _epsilon=std::numeric_limits< typename Matrix_TypeA::Scalar >::epsilon()) |
| The dampedPseudoInverse function calculates the damped pseudo-inverse of a matrix using SVD. More...
|
|
template<typename Matrix_TypeA , typename Matrix_TypeB > |
static bool | nullSpaceProjector (const Matrix_TypeA &_A, Matrix_TypeB &_N, const double _alpha=1) |
| The nullSpaceProjector function calculates the null-space projector of a given matrix. The null-space projector is calculated using the Moore-Penrose pseudo-inverse (N = I - alpha * pinvA * A). More...
|
|
template<typename Matrix_TypeA > |
Eigen::Matrix< typename Matrix_TypeA::Scalar, Eigen::Dynamic, Eigen::Dynamic > | SVDNullSpaceProjector (const Matrix_TypeA &_A) |
| The SVDNullSpaceProjector function calculates the null-space projector of a given matrix. The null-space projector is calculated using the singular-value decomposition (SVD). The null-space. More...
|
|
template<typename Vector_TypeA , typename Vector_TypeB > |
Eigen::Matrix< typename Vector_TypeA::Scalar, Eigen::Dynamic, 1 > | boxMinus (const Vector_TypeA &_a, const Vector_TypeB &_b) |
| The boxMinus function calculates the box-minus operation between two vectors of equal size. More...
|
|
|
static constexpr double | TWO_PI = boost::math::constants::two_pi<double>() |
| Define 2PI. More...
|
|
static constexpr double | FOUR_THIRDS_PI = boost::math::constants::four_thirds_pi<double>() |
| Define 4PI/3. More...
|
|
static constexpr double | PI = boost::math::constants::pi<double>() |
| Define PI. More...
|
|
static constexpr double | THREE_QUARTERS_PI = boost::math::constants::three_quarters_pi<double>() |
| Define 3PI/4. More...
|
|
static constexpr double | TWO_THIRDS_PI = boost::math::constants::two_thirds_pi<double>() |
| Define 2PI/3. More...
|
|
static constexpr double | HALF_PI = boost::math::constants::half_pi<double>() |
| Define PI/2. More...
|
|
static constexpr double | THIRD_PI = boost::math::constants::third_pi<double>() |
| Define PI/3. More...
|
|
static constexpr double | SIXTH_PI = boost::math::constants::sixth_pi<double>() |
| Define PI/6. More...
|
|
static constexpr double | ONE_DIV_TWO_PI = boost::math::constants::one_div_two_pi<double>() |
| Define 1/2PI. More...
|
|
static constexpr double | INF = std::numeric_limits<double>::infinity() |
| Define infinity. More...
|
|
template<typename Matrix_TypeA >
Eigen::Matrix<typename Matrix_TypeA::Scalar, Eigen::Dynamic, Eigen::Dynamic> math_utils::SVDNullSpaceProjector |
( |
const Matrix_TypeA & |
_A | ) |
|
The SVDNullSpaceProjector function calculates the null-space projector of a given matrix. The null-space projector is calculated using the singular-value decomposition (SVD). The null-space.
projector is found as N(_A) = V_N^*, where the SVD comprises:
A = [U_R, U_N][S, 0;[V_R^*;
0, 0] V_N^*]
- Parameters
-
- Returns
- Returns the SVD null-space projector of the input matrix _A.
Definition at line 144 of file linalg_utils.h.