Xmipp
v3.23.11-Nereus
|
#include <queue>
#include <fstream>
#include "alglib/linalg.h"
#include "numerical_recipes.h"
#include "matrix2d.h"
#include "bilib/linearalgebra.h"
#include "xmipp_filename.h"
#include "matrix1d.h"
#include "xmipp_funcs.h"
#include <sys/stat.h>
Go to the source code of this file.
Macros | |
#define | VIA_BILIB |
Functions | |
void | cholesky (const Matrix2D< double > &M, Matrix2D< double > &L) |
void | normalizeColumns (Matrix2D< double > &A) |
void | normalizeColumnsBetween0and1 (Matrix2D< double > &A) |
void | subtractColumnMeans (Matrix2D< double > &A) |
void | schur (const Matrix2D< double > &M, Matrix2D< double > &O, Matrix2D< double > &T) |
void | generalizedEigs (const Matrix2D< double > &A, const Matrix2D< double > &B, Matrix1D< double > &D, Matrix2D< double > &P) |
void | firstEigs (const Matrix2D< double > &A, size_t M, Matrix1D< double > &D, Matrix2D< double > &P, bool Pneeded) |
void | lastEigs (const Matrix2D< double > &A, size_t M, Matrix1D< double > &D, Matrix2D< double > &P) |
void | eigsBetween (const Matrix2D< double > &A, size_t I1, size_t I2, Matrix1D< double > &D, Matrix2D< double > &P) |
void | allEigs (const Matrix2D< double > &A, std::vector< std::complex< double > > &eigs) |
void | connectedComponentsOfUndirectedGraph (const Matrix2D< double > &G, Matrix1D< int > &component) |
void | matrixOperation_AB (const Matrix2D< double > &A, const Matrix2D< double > &B, Matrix2D< double > &C) |
void | matrixOperation_Ax (const Matrix2D< double > &A, const Matrix1D< double > &x, Matrix1D< double > &y) |
void | matrixOperation_AtA (const Matrix2D< double > &A, Matrix2D< double > &B) |
void | matrixOperation_AAt (const Matrix2D< double > &A, Matrix2D< double > &C) |
void | matrixOperation_ABt (const Matrix2D< double > &A, const Matrix2D< double > &B, Matrix2D< double > &C) |
void | matrixOperation_AtB (const Matrix2D< double > &A, const Matrix2D< double > &B, Matrix2D< double > &C) |
void | matrixOperation_Atx (const Matrix2D< double > &A, const Matrix1D< double > &x, Matrix1D< double > &y) |
void | matrixOperation_AtBt (const Matrix2D< double > &A, const Matrix2D< double > &B, Matrix2D< double > &C) |
void | matrixOperation_XtAX_symmetric (const Matrix2D< double > &X, const Matrix2D< double > &A, Matrix2D< double > &B) |
void | matrixOperation_IplusA (Matrix2D< double > &A) |
void | matrixOperation_IminusA (Matrix2D< double > &A) |
void | eraseFirstColumn (Matrix2D< double > &A) |
void | keepColumns (Matrix2D< double > &A, int j0, int jF) |
void | orthogonalizeColumnsGramSchmidt (Matrix2D< double > &M) |
template void | ludcmp< double > (Matrix2D< double > const &, Matrix2D< double > &, Matrix1D< int > &, double &) |
template void | lubksb< double > (Matrix2D< double > const &, Matrix1D< int > &, Matrix1D< double > &) |
template void | svdcmp< float > (Matrix2D< float > const &, Matrix2D< double > &, Matrix1D< double > &, Matrix2D< double > &) |
template void | svdcmp< double > (Matrix2D< double > const &, Matrix2D< double > &, Matrix1D< double > &, Matrix2D< double > &) |
Matrix Related functions | |
These functions are not methods of Matrix2D | |
template<typename T > | |
void | svdcmp (const Matrix2D< T > &a, Matrix2D< double > &u, Matrix1D< double > &w, Matrix2D< double > &v) |
void | svbksb (Matrix2D< double > &u, Matrix1D< double > &w, Matrix2D< double > &v, Matrix1D< double > &b, Matrix1D< double > &x) |
template<typename T > | |
void | ludcmp (const Matrix2D< T > &A, Matrix2D< T > &LU, Matrix1D< int > &indx, T &d) |
template<typename T > | |
void | lubksb (const Matrix2D< T > &LU, Matrix1D< int > &indx, Matrix1D< T > &b) |
#define VIA_BILIB |
Definition at line 123 of file matrix2d.cpp.
Cholesky decomposition. Given M, this function decomposes M as M=L*L^t where L is a lower triangular matrix. M must be positive semi-definite.
Definition at line 160 of file matrix2d.cpp.
template void lubksb< double > | ( | Matrix2D< double > const & | , |
Matrix1D< int > & | , | ||
Matrix1D< double > & | |||
) |
template void ludcmp< double > | ( | Matrix2D< double > const & | , |
Matrix2D< double > & | , | ||
Matrix1D< int > & | , | ||
double & | |||
) |
Schur decomposition. Given M, this function decomposes M as M = O*T*O' where O is an orthogonal matrix.
Definition at line 251 of file matrix2d.cpp.
template void svdcmp< double > | ( | Matrix2D< double > const & | , |
Matrix2D< double > & | , | ||
Matrix1D< double > & | , | ||
Matrix2D< double > & | |||
) |