28 return (
unsigned int)_A.size();
34 #if __GNUC__ > 3 && __GNUC_MINOR__ > 6
35 #pragma GCC diagnostic push
36 #pragma GCC diagnostic ignored "-Wshadow"
39 #pragma GCC diagnostic push
40 #pragma GCC diagnostic ignored "-Wshadow"
43#if defined __INTEL_COMPILER
45 #pragma warning disable 1599
48 #pragma clang diagnostic push
49 #pragma clang diagnostic ignored "-Wshadow"
54 if (
i>=(
unsigned int)_A.size()) {
56 for (
unsigned long ii=0;ii<_A.size();ii++) {
59 for (
unsigned int ii=(
unsigned int)_A.size();ii<
newSize;ii++) {
60 _A.push_back(std::vector<double>(
newSize,0));
63 if (
j>=(
unsigned int)_A[
i].size()) {
65 for (
unsigned long ii=0;ii<_A.size();ii++) {
74 #if __GNUC__ > 3 && __GNUC_MINOR__ > 6
75 #pragma GCC diagnostic pop
78 #pragma GCC diagnostic pop
81#if defined __INTEL_COMPILER
85 #pragma clang diagnostic pop
89 if (
i>=(
unsigned int)_b.size()) _b.resize(
i+1);
94 if (
i>=(
unsigned int)_bHat.size()) _bHat.resize(
i+1);
99 if (
i>=(
unsigned int)_c.size()) _c.resize(
i+1);
121 o <<
"Name " << b.
name() <<
" of order " << b.
order() << std::endl;
122 o <<
"A" << std::endl;
123 for (
unsigned int i=0;i<b.
nSteps();i++) {
124 for (
unsigned int j=0;j<b.
nSteps();j++) {
125 o << b.
A(i,j) <<
" ";
130 o <<
"c" << std::endl;
131 for (
unsigned int j=0;j<b.
nSteps();j++) {
132 o << b.
c(j) << std::endl;
135 o <<
"b" << std::endl;
136 for (
unsigned int j=0;j<b.
nSteps();j++) {
140 o <<
"bHat" << std::endl;
141 for (
unsigned int j=0;j<b.
nSteps();j++) {
142 o << b.
bHat(j) <<
" ";
173 A(0,0);
A(0,1);
A(0,2);
A(0,3);
174 A(1,0)=1/2.0;
A(1,1);
A(1,2);
A(1,3);
175 A(2,0)=0;
A(2,1)=3/4.0;
A(2,2);
A(2,3);
176 A(3,0)=2/9.0;
A(3,1)=1/3.0;
A(3,2)=4/9.0;
A(3,3);
196 A(0,0) ;
A(0,1) ;
A(0,2) ;
A(0,3) ;
A(0,4) ;
A(0,5);
197 A(1,0)=1/4. ;
A(1,1) ;
A(1,2) ;
A(1,3) ;
A(1,4) ;
A(1,5);
198 A(2,0)=3/32. ;
A(2,1)=9/32. ;
A(2,2) ;
A(2,3) ;
A(2,4) ;
A(2,5);
199 A(3,0)=1932/2197. ;
A(3,1)=-7020/2197. ;
A(3,2)=7296/2197. ;
A(3,3) ;
A(3,4) ;
A(3,5);
200 A(4,0)=439/216. ;
A(4,1)=-8. ;
A(4,2)=3680/513. ;
A(4,3)=-845/4104.;
A(4,4) ;
A(4,5);
201 A(5,0)=-8/27. ;
A(5,1)=2. ;
A(5,2)=-3544/2565. ;
A(5,3)=1859/4104.;
A(5,4)=-11/40.;
A(5,5);
220 bHat(3)=28561/56430.;
229 A(0,0) ;
A(0,1) ;
A(0,2) ;
A(0,3) ;
A(0,4) ;
A(0,5);
230 A(1,0) = 1/5. ;
A(1,1) ;
A(1,2) ;
A(1,3) ;
A(1,4) ;
A(1,5);
231 A(2,0) = 3/40. ;
A(2,1)=9/40. ;
A(2,2) ;
A(2,3) ;
A(2,4) ;
A(2,5);
232 A(3,0) = 3/10. ;
A(3,1)=-9/10. ;
A(3,2)=6/5. ;
A(3,3) ;
A(3,4) ;
A(3,5);
233 A(4,0) = -11/54. ;
A(4,1)=5/2. ;
A(4,2)=-70/27. ;
A(4,3)=35/27. ;
A(4,4) ;
A(4,5);
234 A(5,0) = 1631/55296.;
A(5,1)=175/512.;
A(5,2)=575/13824.;
A(5,3)=44275/110592.;
A(5,4)=253/4096.;
A(5,5);
252 bHat(2)=18575/48384.;
253 bHat(3)=13525/55296.;
std::ostream & operator<<(std::ostream &o, const Genfun::ExtendedButcherTableau &b)
BogackiShampineXtTableau()
const std::string & name() const
unsigned int nSteps() const
double & c(unsigned int i)
ExtendedButcherTableau(const std::string &name, unsigned int order, unsigned int orderHat)
unsigned int orderHat() const
double & A(unsigned int i, unsigned int j)
double & bHat(unsigned int i)
unsigned int order() const
double & b(unsigned int i)
FehlbergRK45F2XtTableau()