![]() |
MBot Software Library
v1.0
An API documentation to mbot_firmware repository
|
Collection of advanced linear algebra functions. More...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <rc/math/vector.h>
#include <rc/math/matrix.h>
#include <rc/math/algebra.h>
#include "algebra_common.h"
Macros | |
#define | DEFAULT_ZERO_TOLERANCE 1e-8 |
Functions | |
int | rc_algebra_qr_decomp (rc_matrix_t A, rc_matrix_t *Q, rc_matrix_t *R) |
Calculate the QR decomposition of matrix A. More... | |
int | rc_algebra_lup_decomp (rc_matrix_t A, rc_matrix_t *L, rc_matrix_t *U, rc_matrix_t *P) |
Performs LUP decomposition on matrix A with partial pivoting. More... | |
int | rc_algebra_invert_matrix (rc_matrix_t A, rc_matrix_t *Ainv) |
Inverts matrix A via LUP decomposition method. More... | |
int | rc_algebra_invert_matrix_inplace (rc_matrix_t *A) |
Inverts matrix A in place. More... | |
int | rc_algebra_lin_system_solve (rc_matrix_t A, rc_vector_t b, rc_vector_t *x) |
Solves Ax=b for given matrix A and vector b. More... | |
void | rc_algebra_set_zero_tolerance (double tol) |
Sets the zero tolerance for detecting singular matrices. More... | |
int | rc_algebra_lin_system_solve_qr (rc_matrix_t A, rc_vector_t b, rc_vector_t *x) |
Finds a least-squares solution to the system Ax=b for non-square A using QR decomposition method. More... | |
int | rc_algebra_fit_ellipsoid (rc_matrix_t pts, rc_vector_t *ctr, rc_vector_t *lens) |
Fits an ellipsoid to a set of points in 3D space. More... | |
Variables | |
double | zero_tolerance =DEFAULT_ZERO_TOLERANCE |
Collection of advanced linear algebra functions.