rosenbrock_tableau.hpp
1 /*
2  * This file is part of CasADi.
3  *
4  * CasADi -- A symbolic framework for dynamic optimization.
5  * Copyright (C) 2010-2026 Joel Andersson, Joris Gillis, Moritz Diehl,
6  * KU Leuven. All rights reserved.
7  * Copyright (C) 2011-2014 Greg Horn
8  *
9  * CasADi is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 3 of the License, or (at your option) any later version.
13  *
14  * CasADi is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with CasADi; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  *
23  */
24 
25 
26 // Generated by a standalone construction tool (start 1980, seed 0): do not edit.
27 // Order conditions residual 2.738e-33, |R(iy)| <= 1 (embedded: <= 1),
28 // principal error coefficients (2-norm) 5.8068e-03
29 #ifndef CASADI_ROSENBROCK_TABLEAU_HPP
30 #define CASADI_ROSENBROCK_TABLEAU_HPP
31 
32 namespace casadi {
33 namespace rosenbrock_tableau {
34 
35 // Number of stages, order of the embedded method
36 const casadi_int n_stages = 8;
37 const casadi_int order_embedded = 4;
38 
39 // Diagonal coefficient
40 const long double gamma = +3.323340443279714703335030188780199e-01L;
41 
42 // Stage coefficients alpha_ij, strictly lower triangular
43 const long double alpha[8][8] = {
44  {0, 0, 0, 0, 0, 0, 0, 0},
45  {+9.970021329839144110005090566340597e-01L, 0, 0, 0, 0, 0, 0, 0},
46  {+2.638072029217540558797397460845354e-01L,
47  +1.627013513314058848476776539832963e-01L, 0, 0, 0, 0, 0, 0},
48  {+1.156060581039499367639400112958590e-01L,
49  +8.849875903703587803778131520274638e-02L,
50  +7.610418638770641484510168422329190e-02L, 0, 0, 0, 0, 0},
51  {+5.079789276294878329575954726112726e-01L,
52  -1.081516929353128396606394679014294e-01L,
53  +1.322441184323504463684453717109770e+00L,
54  -1.011344004186509484005731086050250e+00L, 0, 0, 0, 0},
55  {+1.442306973000468595103029656456783e+01L,
56  -2.990151994401519797150967860943638e-01L,
57  +4.480696617811057791413986706174910e+01L,
58  -5.123820911570281499969325977872359e+01L,
59  -6.692811592972296885761807061498985e+00L, 0, 0, 0},
60  {-1.147313289489853671554442371416371e+00L,
61  -2.809851424789066552136505098671165e-01L,
62  -1.880528842992333693473483435809612e+00L,
63  +3.249933561672380484209994634968282e+00L,
64  +7.265596689607420656980786632467979e-01L,
65  +3.323340443279714703335030188780199e-01L, 0, 0},
66  {-1.134782246263643168472474903656345e-01L,
67  -7.453293029201630167580394908620101e-02L,
68  -3.915682092665757059096002357858872e-01L,
69  +9.310123647864515507575475900484733e-01L,
70  +4.913545744587709773830073710802730e-01L,
71  -1.751216193882376740414063047690435e-01L,
72  +3.323340443279714703335030188780199e-01L, 0}
73 };
74 
75 // Jacobian coefficients gamma_ij, strictly lower triangular
76 const long double gamma_ij[8][8] = {
77  {0, 0, 0, 0, 0, 0, 0, 0},
78  {-9.970021329839144110005090566340597e-01L, 0, 0, 0, 0, 0, 0, 0},
79  {-3.856110112711767863395217338472314e-01L,
80  -1.975024394312409506933296504869237e-01L, 0, 0, 0, 0, 0, 0},
81  {-1.952826569204796837464846028343990e-01L,
82  -8.750397230074750386580553195554704e-02L,
83  -1.846691337664499790266824702321781e-01L, 0, 0, 0, 0, 0},
84  {-6.968271726399242952522176809867906e-01L,
85  +8.355942910782911108307852857318821e-02L,
86  -1.985808753725242047682602689587963e+00L,
87  +2.245751523485942359976526105005181e+00L, 0, 0, 0, 0},
88  {-1.557038301949453962258473893598421e+01L,
89  +1.803005696124532450144627622724727e-02L,
90  -4.668749502110291160761335049755871e+01L,
91  +5.448814267737519548390325441369187e+01L,
92  +7.419371261933038951459885724745782e+00L, 0, 0, 0},
93  {+1.033835064863489354707194881050737e+00L,
94  +2.064522121868903535378465607809155e-01L,
95  +1.488960633725757987563883200023725e+00L,
96  -2.318921196885928933452447044919809e+00L,
97  -2.352050945019710883150712921665248e-01L,
98  -5.074556637162091443749093236470635e-01L, 0, 0},
99  {+1.952575184071690387449604107499247e-01L,
100  +3.267512070526884502974939523672930e-02L,
101  +3.294287070687737160715761073941538e-01L,
102  -4.769964306458966402191620048745044e-01L,
103  -5.137939773755217818071084976791899e-02L,
104  +1.618173127390534927321312784064486e-01L,
105  -5.231368748647877445120473560228528e-01L, 0}
106 };
107 
108 // Weights of the method and of the embedded method
109 const long double b[8] = {
110  +8.177929378080472189771292038429022e-02L,
111  -4.185780958674745664605455384947171e-02L,
112  -6.213950219780198983802412839173343e-02L,
113  +4.540159341405549105383855851739690e-01L,
114  +4.399751767212187992022965213123540e-01L,
115  -1.330430664918418130927502636259496e-02L,
116  -1.908028305368162741785443371448330e-01L,
117  +3.323340443279714703335030188780199e-01L
118 };
119 const long double bhat[8] = {
120  -1.134782246263643168472474903656345e-01L,
121  -7.453293029201630167580394908620101e-02L,
122  -3.915682092665757059096002357858872e-01L,
123  +9.310123647864515507575475900484733e-01L,
124  +4.913545744587709773830073710802730e-01L,
125  -1.751216193882376740414063047690435e-01L,
126  +3.323340443279714703335030188780199e-01L,
127  +0.000000000000000000000000000000000e+00L
128 };
129 
130 // Dense output y(t0 + theta h) = y0 + sum_i b_i(theta) k_i of order 4 for ODEs,
131 // b_i(theta) = sum_q b_dense[q][i] theta^(q+1), b_i(1) = b_i
132 const casadi_int n_dense = 4;
133 const long double b_dense[4][8] = {
134  {+3.406325963613571003017122804434047e+00L,
135  +3.743382641202619078318739636244204e-01L,
136  +6.663701611940329047314122301439193e+00L,
137  -7.536615299688077194623620110969959e+00L,
138  -1.850466028568891337709183424990081e+00L,
139  -2.402537070053669389152549738175418e+00L,
140  +5.641467071381775625459357777196518e+00L,
141  -3.296214512745299662137123572558722e+00L},
142  {-1.555184079474766844584505161922799e+01L,
143  -1.494900137650647618708564664023459e+00L,
144  -3.541030247536027146149692850162404e+01L,
145  +4.383826169766790973631824050677370e+01L,
146  +8.357308236344859521694256803012683e+00L,
147  +1.284408784047791741063676817531173e+01L,
148  -2.869652893378900003722332910270068e+01L,
149  +1.611391456705690089462460840247805e+01L},
150  {+2.022596425676281653943419036255626e+01L,
151  +1.534377324770742427195294696445902e+00L,
152  +4.891765419101144501101339658571605e+01L,
153  -6.084225534523747444460371390505954e+01L,
154  -9.143902730799331837423018865414151e+00L,
155  -1.935079847509495428458957285484914e+01L,
156  +4.211816379551040947781757878376280e+01L,
157  -2.345920301692365288884415480315818e+01L},
158  {-7.998670131847914374708548627378026e+00L,
159  -4.556732608271041729646585498963194e-01L,
160  -2.023319282978930458666861451392295e+01L,
161  +2.499462488139819681344747909442977e+01L,
162  +3.077035699744582452640242008703903e+00L,
163  +8.895943398021522081796079391350222e+00L,
164  -1.925390476364000134023215179540346e+01L,
165  +1.097383700694002312669017299211686e+01L}
166 };
167 
168 } // namespace rosenbrock_tableau
169 } // namespace casadi
170 
171 #endif // CASADI_ROSENBROCK_TABLEAU_HPP
const long double alpha[8][8]
const long double gamma_ij[8][8]
const long double b_dense[4][8]
The casadi namespace.
Definition: archiver.cpp:28