GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LSODE.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1996-2015 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if !defined (octave_LSODE_h)
24 #define octave_LSODE_h 1
25 
26 #include <cfloat>
27 
28 #include "LSODE-opts.h"
29 #include "lo-math.h"
30 
31 class
32 OCTAVE_API
33 LSODE : public ODE, public LSODE_options
34 {
35 public:
36 
37  LSODE (void)
38  : ODE (), LSODE_options (), initialized (false), method_flag (0),
39  maxord (0), itask (0), iopt (0), itol (0), liw (0), lrw (0),
40  iwork (), rwork (), rel_tol (0.0), abs_tol () { }
41 
42  LSODE (const ColumnVector& s, double tm, const ODEFunc& f)
43  : ODE (s, tm, f), LSODE_options (), initialized (false), method_flag (0),
44  maxord (0), itask (0), iopt (0), itol (0), liw (0), lrw (0),
45  iwork (), rwork (), rel_tol (0.0), abs_tol () { }
46 
47  ~LSODE (void) { }
48 
49  ColumnVector do_integrate (double t);
50 
51  Matrix do_integrate (const ColumnVector& tout);
52 
53  Matrix do_integrate (const ColumnVector& tout, const ColumnVector& tcrit);
54 
55  std::string error_message (void) const;
56 
57 private:
58 
60 
66 
69 
72 
73  double rel_tol;
74 
76 };
77 
78 #endif
Array< double > abs_tol
Definition: LSODE.h:75
octave_idx_type maxord
Definition: LSODE.h:62
octave_idx_type method_flag
Definition: LSODE.h:61
bool initialized
Definition: LSODE.h:59
octave_idx_type itol
Definition: LSODE.h:65
Array< octave_idx_type > iwork
Definition: LSODE.h:70
octave_idx_type itask
Definition: LSODE.h:63
Definition: LSODE.h:31
Definition: ODE.h:29
F77_RET_T const double const double * f
Array< double > rwork
Definition: LSODE.h:71
LSODE(void)
Definition: LSODE.h:37
LSODE(const ColumnVector &s, double tm, const ODEFunc &f)
Definition: LSODE.h:42
Definition: dMatrix.h:35
octave_idx_type iopt
Definition: LSODE.h:64
double rel_tol
Definition: LSODE.h:73
octave_idx_type lrw
Definition: LSODE.h:68
octave_idx_type liw
Definition: LSODE.h:67
~LSODE(void)
Definition: LSODE.h:47