Rosetta
Classes | Namespaces | Macros | Typedefs | Functions
sturm.hh File Reference

implements sturm chain solver More...

#include <numeric/types.hh>
#include <cmath>
#include <utility/vector1.hh>

Classes

struct  numeric::kinematic_closure::p
 

Namespaces

 numeric
 Unit headers.
 
 numeric::kinematic_closure
 

Macros

#define MAX_ORDER   16
 
#define MAXPOW   32
 
#define SMALL_ENOUGH   1.0e-18
 
#define MAX_SOLN   16
 

Typedefs

typedef struct numeric::kinematic_closure::p numeric::kinematic_closure::poly
 

Functions

void numeric::kinematic_closure::initialize_sturm (double *tol_secant, int *max_iter_sturm, int *max_iter_secant)
 
double numeric::kinematic_closure::hyper_tan (double a, double x)
 
int numeric::kinematic_closure::modp (poly *u, poly *v, poly *r)
 
int numeric::kinematic_closure::buildsturm (int ord, poly *sseq)
 
int numeric::kinematic_closure::numroots (int np, poly *sseq, int *atneg, int *atpos)
 
double numeric::kinematic_closure::evalpoly (int ord, double *coef, double x)
 
int numeric::kinematic_closure::numchanges (int np, poly *sseq, double a)
 
int numeric::kinematic_closure::modrf (int ord, double *coef, double a, double b, double *val)
 
void numeric::kinematic_closure::sbisect (int np, poly *sseq, double min, double max, int atmin, int atmax, double *roots)
 
void numeric::kinematic_closure::solve_sturm (const int &p_order, int &n_root, const utility::vector1< double > &poly_coeffs, utility::vector1< double > &roots)
 

Detailed Description

implements sturm chain solver

Author
Daniel J. Mandell

Macro Definition Documentation

◆ MAX_ORDER

#define MAX_ORDER   16

◆ MAX_SOLN

#define MAX_SOLN   16

◆ MAXPOW

#define MAXPOW   32

◆ SMALL_ENOUGH

#define SMALL_ENOUGH   1.0e-18