H2Lib  3.0
Functions
factorizations.h File Reference
#include "blas.h"
#include "amatrix.h"
#include "truncation.h"

Go to the source code of this file.

Functions

void diagsolve_amatrix_avector (bool atrans, pcamatrix a, pavector x)
 Solve $A x = b$ and variants for a diagonal matrix $A$. More...
 
void diagsolve_amatrix (bool atrans, pcamatrix a, bool xtrans, pamatrix x)
 Solve $A X = B$ and variants for a diagonal matrix $A$. More...
 
void diageval_amatrix_avector (bool atrans, pcamatrix a, pavector x)
 Evaluate $b = A x$ and variants for a diagonal matrix $A$. More...
 
void diageval_amatrix (bool atrans, pcamatrix a, bool xtrans, pamatrix x)
 Evaluate $B = A X$ and variants for a diagonal matrix $A$. More...
 
void diageval_realavector_amatrix (field alpha, bool atrans, pcrealavector a, bool xtrans, pamatrix x)
 Evaluate $B = A X$ and variants for a diagonal matrix $A$ represented by a vector of reals. More...
 
void triangularsolve_amatrix_avector (bool alower, bool aunit, bool atrans, pcamatrix a, pavector x)
 Solve $A x = b$ for a triangular matrix $A$. More...
 
void triangularsolve_amatrix (bool alower, bool aunit, bool atrans, pcamatrix a, bool xtrans, pamatrix x)
 Solve $A X = B$ and variants for a triangular matrix $A$. More...
 
void triangulareval_amatrix_avector (bool alower, bool aunit, bool atrans, pcamatrix a, pavector x)
 Evaluate $b = A x$ for a triangular matrix $A$. More...
 
void triangulareval_amatrix (bool alower, bool aunit, bool atrans, pcamatrix a, bool xtrans, pamatrix x)
 Evaluate $B = A X$ and variants for a triangular matrix $A$. More...
 
void triangularaddmul_amatrix (field alpha, bool alower, bool atrans, pcamatrix a, bool blower, bool btrans, pcamatrix b, pamatrix c)
 Add the product of two triangular matrices $A$ and $B$ to a matrix $C$, $C \gets C + \alpha A B$. More...
 
void copy_lower_amatrix (pcamatrix a, bool aunit, pamatrix b)
 Copy the lower triangular part of a matrix. More...
 
void copy_upper_amatrix (pcamatrix a, bool aunit, pamatrix b)
 Copy the upper triangular part of a matrix. More...
 
uint lrdecomp_amatrix (pamatrix a)
 Compute the LR decomposition $A=LR$ of a matrix. More...
 
uint lrdecomp_blocks_amatrix (pamatrix a, uint blocksize)
 Compute the LR decomposition $A=LR$ of a matrix using a block-based algorithm. More...
 
void lrdecomp_tasks_amatrix (pamatrix a, uint blocksize)
 Compute the LR decomposition $A=LR$ of a matrix using a block-based algorithm. More...
 
void lrsolve_n_amatrix_avector (pcamatrix a, pavector x)
 Solve the linear system $A x = b$ using a LR factorization. More...
 
void lrsolve_t_amatrix_avector (pcamatrix a, pavector x)
 Solve the linear system $A^* x = b$ using a LR factorization. More...
 
void lrsolve_amatrix_avector (bool atrans, pcamatrix a, pavector x)
 Solve the linear system $A x = b$ or $A^* x = b$ using a LR factorization. More...
 
void lrsolve_amatrix (pcamatrix a, pamatrix x)
 Solve the linear system $A X = B$ using a LR factorization. More...
 
void lreval_n_amatrix_avector (pcamatrix a, pavector x)
 Evaluate $x \gets A x$ using a LR factorization. More...
 
void lreval_t_amatrix_avector (pcamatrix a, pavector x)
 Evaluate $x \gets A^* x$ using a LR factorization. More...
 
void lreval_amatrix_avector (bool atrans, pcamatrix a, pavector x)
 Evaluate $x \gets A x$ or $x \gets A^* x$ using a LR factorization. More...
 
uint choldecomp_amatrix (pamatrix a)
 Compute the Cholesky decomposition $A=LL^*$ of a self-adjoint positive definite matrix. More...
 
uint choldecomp_blocks_amatrix (pamatrix a, uint blocksize)
 Compute the Cholesky decomposition $A=LL^*$ of a self-adjoint positive definite matrix using a block-based algorithm. More...
 
void choldecomp_tasks_amatrix (pamatrix a, uint blocksize)
 Compute the Cholesky decomposition $A=LL^*$ of a self-adjoint positive definite matrix using a block-based algorithm. More...
 
void cholsolve_amatrix_avector (pcamatrix a, pavector x)
 Solve the linear system $A x = b$ using a Cholesky factorization. More...
 
void cholsolve_amatrix (pcamatrix a, pamatrix x)
 Solve the linear system $A X = B$ using a Cholesky factorization. More...
 
void choleval_amatrix_avector (pcamatrix a, pavector x)
 Evaluate $x \gets A x$ using a Cholesky factorization. More...
 
uint ldltdecomp_amatrix (pamatrix a)
 Compute the LDLT decomposition $A=LDL^*$ of a self-adjoint matrix. More...
 
void ldltsolve_amatrix_avector (pcamatrix a, pavector x)
 Solve the linear system $A x = b$ using a LDLT factorization. More...
 
void ldltsolve_amatrix (pcamatrix a, pamatrix x)
 Solve the linear system $A X = B$ using a LDLT factorization. More...
 
void qrdecomp_amatrix (pamatrix a, pavector tau)
 Compute the QR decomposition $A=QR$ of a matrix. More...
 
uint qrdecomp_pivot_amatrix (pamatrix a, pavector tau, uint *colpiv)
 Compute the QR decomposition $A=QR$ of a matrix with column pivoting. More...
 
uint qrdecomp_rank_amatrix (pamatrix a, pavector tau, pctruncmode tm, real eps, uint *colpiv)
 Compute the QR decomposition $A=QR$ of a matrix with column pivoting, exit early if the remainder becomes small enough. More...
 
void qreval_amatrix_avector (bool qtrans, pcamatrix a, pcavector tau, pavector x)
 Evaluate $b=Qx$ and variants for the matrix $Q$ of a QR decomposition. More...
 
void qreval_amatrix (bool qtrans, pcamatrix a, pcavector tau, pamatrix x)
 Evaluate $B=QX$ and variants for the matrix $Q$ of a QR decomposition. More...
 
void qrsolve_amatrix_avector (pcamatrix a, pcavector tau, pavector x)
 Solve the linear system $A x = b$ using a QR factorization. More...
 
void qrinvert_amatrix (pamatrix a)
 Compute the inverse $A^{-1}$ of a matrix by QR decomposition. More...
 
void qrexpand_amatrix (pcamatrix a, pcavector tau, pamatrix q)
 Compute the factor $Q$ of a QR factorization. More...
 

Detailed Description

Author
Steffen Börm