Defines | Functions
linear_algebra.c File Reference
#include <math.h>
#include <string.h>
#include <stdio.h>
#include "common.h"
#include "linear_algebra.h"
Include dependency graph for linear_algebra.c:

Go to the source code of this file.

Defines

#define MATRIX_EPSILON   (1e-60)

Functions

void dmtx_printf (double *mtx, u32 m, u32 n)
static int inv2 (const double *a, double *b)
static int inv3 (const double *a, double *b)
static int inv4 (const double *a, double *b)
void matrix_add_sc (u32 n, u32 m, const double *a, const double *b, double gamma, double *c)
int matrix_ataati (u32 n, u32 m, const double *a, double *b)
int matrix_ataiat (u32 n, u32 m, const double *a, double *b)
int matrix_atawati (u32 n, u32 m, const double *a, const double *w, double *b)
int matrix_atwaiat (u32 n, u32 m, const double *a, const double *w, double *b)
void matrix_copy (u32 n, u32 m, const double *a, double *b)
void matrix_eye (u32 n, double *M)
int matrix_inverse (u32 n, const double *const a, double *b)
void matrix_multiply (u32 n, u32 m, u32 p, const double *a, const double *b, double *c)
int matrix_pseudoinverse (u32 n, u32 m, const double *a, double *b)
void matrix_reconstruct_udu (u32 n, double *U, double *D, double *M)
void matrix_transpose (u32 n, u32 m, const double *a, double *b)
void matrix_triu (u32 n, double *M)
void matrix_udu (u32 n, double *M, double *U, double *D)
s32 qrdecomp (const double *a, u32 rows, u32 cols, double *qt, double *r)
s32 qrdecomp_square (const double *a, u32 rows, double *qt, double *r)
s32 qrsolve (const double *a, u32 rows, u32 cols, const double *b, double *x)
void qtmult (const double *qt, u32 n, const double *b, double *x)
static void row_swap (double *a, double *b, u32 size)
static int rref (u32 order, u32 cols, double *m)
void rsolve (const double *r, u32 rows, u32 cols, const double *b, double *x)
void vector_add (u32 n, const double *a, const double *b, double *c)
void vector_add_sc (u32 n, const double *a, const double *b, double gamma, double *c)
void vector_cross (const double a[3], const double b[3], double c[3])
double vector_dot (u32 n, const double *a, const double *b)
double vector_mean (u32 n, const double *a)
double vector_norm (u32 n, const double *a)
void vector_normalize (u32 n, double *a)
void vector_subtract (u32 n, const double *a, const double *b, double *c)


swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:56:55