|
accelerInt
v0.1
|
Various linear algebra routines needed for the Carathéodory-Fejér method. More...
#include <stdlib.h>#include <stdio.h>#include <math.h>#include <float.h>#include <string.h>#include <complex.h>
Go to the source code of this file.
Functions | |
| void | getInverseComplex (int n, double complex *A) |
| Interface function to LAPACK matrix inversion subroutine. More... | |
| void | linSolveComplex (int n, double complex *A, double complex *B, double complex *x) |
| Solves the complex linear system Ax = B. More... | |
| void | roots (int n, double *v, double complex *rt) |
| Polynomial root finding function. More... | |
| void | svd (int n, double *A, double *S, double *U, double *V) |
| Singular value decomposition function. More... | |
Various linear algebra routines needed for the Carathéodory-Fejér method.
Definition in file linear-algebra.c.
| void getInverseComplex | ( | int | n, |
| double complex * | A | ||
| ) |
Interface function to LAPACK matrix inversion subroutine.
Performs inversion of square matrix. Uses LAPACK subroutines DGETRF and DGETRI.
| [in] | n | order of matrix |
| [in] | A | the input matrix, size n*n |
Definition at line 23 of file linear-algebra.c.
| void linSolveComplex | ( | int | n, |
| double complex * | A, | ||
| double complex * | B, | ||
| double complex * | x | ||
| ) |
Solves the complex linear system Ax = B.
Performs inversion of square matrix. Uses LAPACK subroutines DGETRF and DGETRI.
| [in] | n | order of matrix |
| [in] | A | the LHS matrix, size n*n |
| [in] | B | the RHS matrix, size n*n |
| [out] | x | the solved vector, size n*1 |
Definition at line 88 of file linear-algebra.c.
| void roots | ( | int | n, |
| double * | v, | ||
| double complex * | rt | ||
| ) |
Polynomial root finding function.
This function calculates the roots of a polynomial represented by its coefficients in the array v. This is done by constructing a companion matrix out of the polynomial coefficients, then using the LAPACK subroutine DGEEV to calculate its eigenvalues. These are the roots of the polynomial.
| [in] | n | size of v; |
| [in] | v | array of polynomial coefficients (real) |
| [out] | rt | array of polynomial roots (complex), size n - 1 |
Definition at line 141 of file linear-algebra.c.
| void svd | ( | int | n, |
| double * | A, | ||
| double * | S, | ||
| double * | U, | ||
| double * | V | ||
| ) |
Singular value decomposition function.
Decomposes a matrix A into U * S * V', where S (here an array, really a diagonal matrix) holds the singular values. The function uses the LAPACK subroutine DGESVD.
| [in] | n | leading dimension of array |
| [in] | A | array to be decomposed, size n * n |
| [out] | S | array with singular values, size n |
| [out] | U | array with left singular vectors, size n * n |
| [out] | V | array with right singular vectors, size n * n |
Definition at line 215 of file linear-algebra.c.
1.8.14