Mercurial > octave
annotate liboctave/numeric/LSODE-opts.in @ 27923:bd51beb6205e
update formatting of copyright notices
* Use <https://octave.org/copyright/> instead of
<https://octave.org/COPYRIGHT.html/>.
* For consistency with other comments in the Octave sources, use
C++-style comments for copyright blocks in C and C++ files.
* Use delimiters above and below copyright blocks that are appropriate
for the language used in the file.
* Eliminate extra spacing inside copyright blocks.
* lex.ll (looks_like_copyright): Also allow newlines and carriage
returns before the word "Copyright".
* scripts/mk-doc.pl (gethelp): Also skip empty comment lines.
* bp-table.cc, type.m: Adjust tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 08 Jan 2020 11:59:41 -0500 |
parents | 1891570abac8 |
children | bbbe4dcc7200 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 # |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
3 # Copyright (C) 2002-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
4 # |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 # See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 # distribution or <https://octave.org/copyright/>. |
7017 | 7 # |
8 # This file is part of Octave. | |
13141
e81ddf9cacd5
maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
9 # |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
10 # Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
11 # under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
12 # the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
13 # (at your option) any later version. |
13141
e81ddf9cacd5
maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
14 # |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
15 # Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
16 # WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
18 # GNU General Public License for more details. |
13141
e81ddf9cacd5
maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
19 # |
7017 | 20 # You should have received a copy of the GNU General Public License |
21 # along with Octave; see the file COPYING. If not, see | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
22 # <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 # |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
7017 | 25 |
3998 | 26 CLASS = "LSODE" |
27 | |
4044 | 28 INCLUDE = "ODE.h" |
29 | |
3998 | 30 OPTION |
31 NAME = "absolute tolerance" | |
4051 | 32 DOC_ITEM |
33 Absolute tolerance. May be either vector or scalar. If a vector, it | |
34 must match the dimension of the state vector. | |
10840 | 35 |
4051 | 36 END_DOC_ITEM |
3998 | 37 TYPE = "Array<double>" |
38 SET_ARG_TYPE = "const $TYPE&" | |
39 INIT_BODY | |
11574
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
40 $OPTVAR.resize (dim_vector (1, 1)); |
15220
61822c866ba1
use std::numeric_limits<T>::epsilon in C++ code
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
41 $OPTVAR(0) = ::sqrt (std::numeric_limits<double>::epsilon ()); |
3998 | 42 END_INIT_BODY |
43 SET_CODE | |
44 void set_$OPT (double val) | |
45 { | |
11574
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
46 $OPTVAR.resize (dim_vector (1, 1)); |
15220
61822c866ba1
use std::numeric_limits<T>::epsilon in C++ code
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
47 $OPTVAR(0) = (val > 0.0) ? val : ::sqrt (std::numeric_limits<double>::epsilon ()); |
4049 | 48 reset = true; |
3998 | 49 } |
50 | |
51 void set_$OPT (const $TYPE& val) | |
4049 | 52 { $OPTVAR = val; reset = true; } |
3998 | 53 END_SET_CODE |
54 END_OPTION | |
55 | |
56 OPTION | |
4051 | 57 NAME = "relative tolerance" |
58 DOC_ITEM | |
59 Relative tolerance parameter. Unlike the absolute tolerance, this | |
60 parameter may only be a scalar. | |
61 | |
62 The local error test applied at each integration step is | |
63 | |
64 @example | |
9067
8970b4b10e9f
Cleanup documentation for quad.texi and diffeq.texi
Rik <rdrider0-list@yahoo.com>
parents:
7081
diff
changeset
|
65 @group |
7081 | 66 abs (local error in x(i)) <= ... |
67 rtol * abs (y(i)) + atol(i) | |
9067
8970b4b10e9f
Cleanup documentation for quad.texi and diffeq.texi
Rik <rdrider0-list@yahoo.com>
parents:
7081
diff
changeset
|
68 @end group |
4051 | 69 @end example |
10840 | 70 |
4051 | 71 END_DOC_ITEM |
72 TYPE = "double" | |
15220
61822c866ba1
use std::numeric_limits<T>::epsilon in C++ code
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
73 INIT_VALUE = "::sqrt (std::numeric_limits<double>::epsilon ())" |
61822c866ba1
use std::numeric_limits<T>::epsilon in C++ code
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
74 SET_EXPR = "(val > 0.0) ? val : ::sqrt (std::numeric_limits<double>::epsilon ())" |
4051 | 75 END_OPTION |
76 | |
77 OPTION | |
3998 | 78 NAME = "integration method" |
4231 | 79 DOC_ITEM |
7007 | 80 A string specifying the method of integration to use to solve the ODE |
4051 | 81 system. Valid values are |
82 | |
83 @table @asis | |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
84 @item @qcode{"adams"} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
85 @itemx @qcode{"non-stiff"} |
4051 | 86 No Jacobian used (even if it is available). |
10840 | 87 |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
88 @item @qcode{"bdf"} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
89 @itemx @qcode{"stiff"} |
4051 | 90 Use stiff backward differentiation formula (BDF) method. If a |
91 function to compute the Jacobian is not supplied, @code{lsode} will | |
92 compute a finite difference approximation of the Jacobian matrix. | |
93 @end table | |
10840 | 94 |
4051 | 95 END_DOC_ITEM |
3998 | 96 TYPE = "std::string" |
97 SET_ARG_TYPE = "const $TYPE&" | |
98 INIT_VALUE = ""stiff"" | |
99 SET_BODY | |
100 if (val == "stiff" || val == "bdf") | |
101 $OPTVAR = "stiff"; | |
102 else if (val == "non-stiff" || val == "adams") | |
103 $OPTVAR = "non-stiff"; | |
104 else | |
105 (*current_liboctave_error_handler) | |
106 ("lsode_options: method must be \"stiff\", \"bdf\", \"non-stiff\", or \"adams\""); | |
107 END_SET_BODY | |
108 END_OPTION | |
109 | |
110 OPTION | |
111 NAME = "initial step size" | |
4051 | 112 DOC_ITEM |
113 The step size to be attempted on the first step (default is determined | |
114 automatically). | |
10840 | 115 |
4051 | 116 END_DOC_ITEM |
3998 | 117 TYPE = "double" |
118 INIT_VALUE = "-1.0" | |
119 SET_EXPR = "(val >= 0.0) ? val : -1.0" | |
120 END_OPTION | |
121 | |
122 OPTION | |
4231 | 123 NAME = "maximum order" |
124 DOC_ITEM | |
125 Restrict the maximum order of the solution method. If using the Adams | |
126 method, this option must be between 1 and 12. Otherwise, it must be | |
127 between 1 and 5, inclusive. | |
10840 | 128 |
4231 | 129 END_DOC_ITEM |
5275 | 130 TYPE = "octave_idx_type" |
4231 | 131 INIT_VALUE = "-1" |
132 SET_EXPR = "val" | |
133 END_OPTION | |
134 | |
135 OPTION | |
3998 | 136 NAME = "maximum step size" |
4051 | 137 DOC_ITEM |
138 Setting the maximum stepsize will avoid passing over very large | |
139 regions (default is not specified). | |
10840 | 140 |
4051 | 141 END_DOC_ITEM |
3998 | 142 TYPE = "double" |
143 INIT_VALUE = "-1.0" | |
144 SET_EXPR = "(val >= 0.0) ? val : -1.0" | |
145 END_OPTION | |
146 | |
147 OPTION | |
148 NAME = "minimum step size" | |
4051 | 149 DOC_ITEM |
150 The minimum absolute step size allowed (default is 0). | |
10840 | 151 |
4051 | 152 END_DOC_ITEM |
3998 | 153 TYPE = "double" |
154 INIT_VALUE = "0.0" | |
155 SET_EXPR = "(val >= 0.0) ? val : 0.0" | |
156 END_OPTION | |
157 | |
158 OPTION | |
159 NAME = "step limit" | |
4051 | 160 DOC_ITEM |
161 Maximum number of steps allowed (default is 100000). | |
162 END_DOC_ITEM | |
5275 | 163 TYPE = "octave_idx_type" |
3998 | 164 INIT_VALUE = "100000" |
165 SET_EXPR = "val" | |
166 END_OPTION |