![]() |
Bsoft 2.1.4
Bernard's software package
|
Matrix manipulation functions. More...
#include "Matrix.h"
#include "matrix_linear.h"
#include "math_util.h"
#include "random_numbers.h"
#include "utilities.h"
Macros | |
#define | SQR(x) ((x)*(x)) |
Functions | |
ostream & | operator<< (ostream &output, Matrix &mat) |
Vector3< double > | principal_axes (Vector3< double > avg, Vector3< double > avg2, Vector3< double > avgx, Vector3< double > *eigenvec) |
Calculates the principal axes of 3D coordinates. More... | |
Vector3< double > | principal_axes (vector< Vector3< double > > &coor, Matrix &a) |
Calculates the principal axes of 3D coordinates. More... | |
void | dsytrd3 (Matrix &A, vector< double > &d, vector< double > &e) |
Reduces a symmetric 3x3 matrix to tridiagonal form. More... | |
vector< double > | dsyevq3 (Matrix &A) |
Calculates the eigenvalues and normalized eigenvectors of a symmetric 3x3 matrix. More... | |
Variables | |
int | verbose |
Matrix manipulation functions.
#define SQR | ( | x | ) | ((x)*(x)) |
vector< double > dsyevq3 | ( | Matrix & | A | ) |
Calculates the eigenvalues and normalized eigenvectors of a symmetric 3x3 matrix.
A | matrix, replaced by normalized eigenvectors. |
Calculates the eigenvalues and normalized eigenvectors of a symmetric 3x3 matrix A using the QL algorithm with implicit shifts, preceded by a Householder reduction to tridiagonal form. The function accesses only the diagonal and upper triangular parts of A.Reference: Kopp (2008).
void dsytrd3 | ( | Matrix & | A, |
vector< double > & | d, | ||
vector< double > & | e | ||
) |
Reduces a symmetric 3x3 matrix to tridiagonal form.
A | matrix, replaced by tridiagonal matrix. |
d | diagonal. |
e | off-diagonal. Reduces a symmetric 3x3 matrix to tridiagonal form by applying (unitary) Householder transformations: [ d[0] e[0] ] A = Q . [ e[0] d[1] e[1] ] . Q^T [ e[1] d[2] ] The function accesses only the diagonal and upper triangular parts of A.Reference: Kopp (2008). |
ostream & operator<< | ( | ostream & | output, |
Matrix & | mat | ||
) |
Vector3< double > principal_axes | ( | Vector3< double > | avg, |
Vector3< double > | avg2, | ||
Vector3< double > | avgx, | ||
Vector3< double > * | eigenvec | ||
) |
Calculates the principal axes of 3D coordinates.
avg | average of vectors. |
avg2 | average of squared vectors. |
avgx | average of cross products {xy, xz, yz}. |
*eigenvec | 3 return eigen vectors (can be NULL). |
Reference: Press W.H. et al (1992) Numerical Recipes in C.
Calculates the principal axes of 3D coordinates.
coor | vector of coordinates. |
&a | matrix with eigen vectors. |
Reference: Press W.H. et al (1992) Numerical Recipes in C.
|
extern |