00001
00002
00003
00004 #ifndef NEWTON_STEP_H_
00005 #define NEWTON_STEP_H_
00006
00007 #include "mole.h"
00008 #include "mole_priv.h"
00009
00010
00015 bool newton_step(GroupMap &mole_map, const valarray<double> &oldmols, valarray<double> &newmols, realnum *eqerror, realnum *error, const long n,
00016 double *rlimit, double *rmax,
00017 valarray<double> &escale,
00018 void (*jacobn)(GroupMap &mole_map,
00019 const valarray<double> &b2vec,
00020 double * const ervals, double * const amat,
00021 const bool lgJac, bool *lgConserved));
00022
00023 typedef void (*error_print_t)(long, long,
00024 const valarray<double> &,
00025 const valarray<double> &);
00026
00027 int32 solve_system(const valarray<double> &a, valarray<double> &b,
00028 long int n, error_print_t error_print);
00029
00030 #endif