WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
linalg.cpp File Reference
#include <assert.h>
#include <math.h>
#include <string.h>
#include "linalg.h"
#include "miniblas.h"

Namespaces

namespace  warpos

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'.

Variables

char warpos::CHAR_N = 'N'
char warpos::CHAR_U = 'U'
char warpos::CHAR_R = 'R'
char warpos::CHAR_L = 'L'
char warpos::CHAR_T = 'T'