WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
linalg.h File Reference

Embedded linear algebra math library. More...

#include "types.h"

Go to the source code of this file.

Namespaces

namespace  warpos

Macros

#define MAT_ELEM(M, row, col, numrows, numcols)
#define SQRTF(x)

Functions

void warpos::matmul (const char *ta, const char *tb, int n, int k, int m, floating_point alpha, const floating_point *A, const floating_point *B, floating_point beta, floating_point *C)
void warpos::matmulsym (const floating_point *A_sym, const floating_point *B, int n, int m, floating_point *C)
 Multiplication of symmetric matrix A with B: C = A*B.
void warpos::mateye (floating_point *A, int n)
 Fill array with an identity matrix.
int warpos::cholesky (floating_point *A, const int n, int onlyWriteLowerPart)
 Calculate the lower triangular matrix L, so that L*L' = A. Operation count: n^3/6 with n square roots. BLAS equivalent: ?potrf.
void warpos::trisolve (const floating_point *A, floating_point *B, int n, int m, const char *tp)
 Triangular solve BLAS: ?trsm.
void warpos::trisolveright (const floating_point *L, floating_point *A, int n, int m, const char *tp)
 Triangular solve (right hand side). BLAS: ?trsm.
void warpos::symmetricrankupdate (floating_point *P, const floating_point *E, int n, int m)
 Symmetric rank update. P = P - E*E'.
int warpos::udu (const floating_point *A, floating_point *U, floating_point *d, const int n)
 UDU decomposition of a symmetrical n x n matrix so that A = U*D*U'.

Detailed Description

Embedded linear algebra math library.

KFCore

Author
Jan Zwiener (jan@z.nosp@m.wien.nosp@m.er.or.nosp@m.g)

Note: all matrices are stored in column-major order.

Macro Definition Documentation

◆ MAT_ELEM

#define MAT_ELEM ( M,
row,
col,
numrows,
numcols )
Value:
(M[row + col * numrows])

◆ SQRTF

#define SQRTF ( x)
Value:
sqrtf(x)