Eigs.C File Reference

Use the GNU Scientific Library to calculate eigen parameters. More...

#include <cmath>
#include <gsl/gsl_eigen.h>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
#include "Eigs.H"
#include "VecAngle.H"
#include "debug.H"

Functions

size_t GetIndex (const EigsEnum which, const gsl_vector *v)
 Used to pick out the index for Vmax/Tmax, Vint/Tint, Vmin/Tmin. Meant just to be a helper.
bool GetEig (const EigsEnum which, const gsl_matrix *eigenvecs, const gsl_vector *eigenvals, float vec[3], float &val)
 Pick out a particular eigen vector/value.
void flip (double &dec, double &dip)
 put a vector in the lower hemisphere
void flip (float &dec, float &dip)
 put a vector in the lower hemisphere
bool GetEigs (const gsl_matrix *eigenvec, const gsl_vector *eigenval, float newEigs[9])
 Fill a lisa style eigen vector array. see s_eigs.

Variables

static const UNUSED char * RCSid = "@(#) $Id: Eigs.C,v 1.11 2004/11/03 00:29:23 schwehr Exp $"
 Let the debugger find out which version is being used.


Detailed Description

Use the GNU Scientific Library to calculate eigen parameters.


Function Documentation

void flip float &  dec,
float &  dip
 

put a vector in the lower hemisphere

Parameters:
dec Declination from north clockwise. angle in degrees
dip Dip of vector. Returns 0 is horizontal, 90 is vertical, down

void flip double &  dec,
double &  dip
 

put a vector in the lower hemisphere

Parameters:
dec Declination from north clockwise. angle in degrees
dip Dip of vector. Returns 0 is horizontal, 90 is vertical, down
Bug:
Should this be a template?

bool GetEig const EigsEnum  which,
const gsl_matrix *  eigenvecs,
const gsl_vector *  eigenvals,
float  vec[3],
float &  val
 

Pick out a particular eigen vector/value.

Parameters:
which KMIN, KINT, KMAX
eigenvecs Precomputed eigen vectors. Use gsl_eigensymmv
eigenvals Precomputed eigen values. Use gsl_eigensymmv
vec Return array for the eigen vector
val Return the eigen value. Should be less than 1!!! (t1+t2+t3 == 1.0)
Returns:
should someday return false if got a bad param
The eigen parameters are unsorted when computed, so the min could be first, second, or third. Use this to grab the data out of the gsl data structures for the eigen parameters you want.

bool GetEigs const gsl_matrix *  eigenvec,
const gsl_vector *  eigenval,
float  newEigs[9]
 

Fill a lisa style eigen vector array. see s_eigs.

Parameters:
eigenvec Unsorted eigen vector. They are in the order of the eigen values
eigenval Unsorted eigen values
newEigs Store the values here are Tmin, DECmin, INCmin, Tint, DECint, INCint, Tmax, DECmax, INCmax
Returns:
false if there was some sort of problem. true on success
Has to sort through the eigenvals to figure out the order of min, int, and max

size_t GetIndex const EigsEnum  which,
const gsl_vector *  v
 

Used to pick out the index for Vmax/Tmax, Vint/Tint, Vmin/Tmin. Meant just to be a helper.


Variable Documentation

const UNUSED char* RCSid = "@(#) $Id: Eigs.C,v 1.11 2004/11/03 00:29:23 schwehr Exp $" [static]
 

Let the debugger find out which version is being used.


Generated on Thu Mar 2 17:55:25 2006 for density by  doxygen 1.4.6