#include <Eigs.H>
Public Member Functions | |
S_Engine () | |
Construct an S_Engine object, but leave it invalid. | |
~S_Engine () | |
Deallocate gsl matrix and workspace. | |
S_Engine (const std::vector< float > &s) | |
Construct an S_Engine with an initial s value. | |
bool | setS (const std::vector< float > &s) |
Insert a set of s values and compute the eigenvalues and vectors Side Effect: Sets valid to true. | |
bool | getXYZ (const EigsEnum which, std::vector< float > &xyz) const |
Get the cartisian coordinate for a particular eigen vector. | |
bool | isValid () const |
Do we have a working s value that can be queried? | |
Private Member Functions | |
bool | init () |
Used by constructors to allocate up GSL variables. | |
Private Attributes | |
bool | valid |
True if an s value has been set. | |
std::vector< float > | s |
see s_eigs. Store 6 values. Ignores the 7th value (sigma) | |
gsl_eigen_symmv_workspace * | w |
GNU Scientific Library workspace for decomposition. | |
gsl_matrix * | A |
Matrix that we will get eigen parameters from. | |
gsl_vector * | eigenval |
unordered eigen values | |
gsl_matrix * | eigenvec |
results stored here ordered by eigen val | |
float | eigs [9] |
Lisa Tauxe style eigen parameters. See s_eigs program. |
Designed to be a reusable container, so you do not have to pay for the cost of allocating and freeing GNU Scientific Library working variables over and over. This class does a little bit more work than necessary in that it calls GetEigs no matter what, but you probably want that anyway, right?
|
Construct an S_Engine object, but leave it invalid. You need to call setS() before pulling out data with getXYZ() or other get methods. You should recycle one S_Engine rather than create/destroy a new object for each s array that you want to process. Each object has to manage 4 gsl objects. |
|
Deallocate gsl matrix and workspace.
|
|
Construct an S_Engine with an initial s value.
|
|
Get the cartisian coordinate for a particular eigen vector.
|
|
Used by constructors to allocate up GSL variables.
|
|
Do we have a working s value that can be queried?
|
|
Insert a set of s values and compute the eigenvalues and vectors Side Effect: Sets valid to true.
|
|
Matrix that we will get eigen parameters from.
|
|
unordered eigen values
|
|
results stored here ordered by eigen val
|
|
Lisa Tauxe style eigen parameters. See s_eigs program. 3 tau_i, dec_i inc_i triples of eigenval and eigenvectors In groups of three with min in [0..2], int in [3..5], and max in [6..8] |
|
see s_eigs. Store 6 values. Ignores the 7th value (sigma)
|
|
True if an s value has been set.
|
|
GNU Scientific Library workspace for decomposition.
|