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