-- SPDX-License-Identifier: MPL-2.0

{- | Published Dormand-Prince 8(5,3) Butcher coefficients (numerical data).
Source: Hairer/Wanner DOP853, as tabulated by scipy.integrate:
https://github.com/scipy/scipy/blob/main/scipy/integrate/_ivp/dop853_coefficients.py
-}
module HMath.ODE.Tableau (dop853C, dop853A, dop853B, dop853E3, dop853E5) where

dop853C :: [Double]
dop853C :: [Double]
dop853C =
    [ Double
0.0
    , Double
0.05260015195876773
    , Double
0.0789002279381516
    , Double
0.1183503419072274
    , Double
0.2816496580927726
    , Double
0.3333333333333333
    , Double
0.25
    , Double
0.3076923076923077
    , Double
0.6512820512820513
    , Double
0.6
    , Double
0.8571428571428571
    , Double
1.0
    ]

dop853A :: [[Double]]
dop853A :: [[Double]]
dop853A =
    [ []
    , [Double
0.05260015195876773]
    , [Double
0.0197250569845379, Double
0.0591751709536137]
    , [Double
0.02958758547680685, Double
0.0, Double
0.08876275643042054]
    , [Double
0.2413651341592667, Double
0.0, -Double
0.8845494793282861, Double
0.924834003261792]
    , [Double
0.037037037037037035, Double
0.0, Double
0.0, Double
0.17082860872947386, Double
0.12546768756682242]
    , [Double
0.037109375, Double
0.0, Double
0.0, Double
0.17025221101954405, Double
0.06021653898045596, -Double
0.017578125]
    ,
        [ Double
0.03709200011850479
        , Double
0.0
        , Double
0.0
        , Double
0.17038392571223998
        , Double
0.10726203044637328
        , -Double
0.015319437748624402
        , Double
0.008273789163814023
        ]
    ,
        [ Double
0.6241109587160757
        , Double
0.0
        , Double
0.0
        , -Double
3.3608926294469414
        , -Double
0.868219346841726
        , Double
27.59209969944671
        , Double
20.154067550477894
        , -Double
43.48988418106996
        ]
    ,
        [ Double
0.47766253643826434
        , Double
0.0
        , Double
0.0
        , -Double
2.4881146199716677
        , -Double
0.590290826836843
        , Double
21.230051448181193
        , Double
15.279233632882423
        , -Double
33.28821096898486
        , -Double
0.020331201708508627
        ]
    ,
        [ -Double
0.9371424300859873
        , Double
0.0
        , Double
0.0
        , Double
5.186372428844064
        , Double
1.0914373489967295
        , -Double
8.149787010746927
        , -Double
18.52006565999696
        , Double
22.739487099350505
        , Double
2.4936055526796523
        , -Double
3.0467644718982196
        ]
    ,
        [ Double
2.273310147516538
        , Double
0.0
        , Double
0.0
        , -Double
10.53449546673725
        , -Double
2.0008720582248625
        , -Double
17.9589318631188
        , Double
27.94888452941996
        , -Double
2.8589982771350235
        , -Double
8.87285693353063
        , Double
12.360567175794303
        , Double
0.6433927460157636
        ]
    ]

dop853B :: [Double]
dop853B :: [Double]
dop853B =
    [ Double
0.054293734116568765
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , Double
4.450312892752409
    , Double
1.8915178993145003
    , -Double
5.801203960010585
    , Double
0.3111643669578199
    , -Double
0.1521609496625161
    , Double
0.20136540080403034
    , Double
0.04471061572777259
    ]

dop853E3 :: [Double]
dop853E3 :: [Double]
dop853E3 =
    [ -Double
0.18980075407240762
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , Double
4.450312892752409
    , Double
1.8915178993145003
    , -Double
5.801203960010585
    , -Double
0.4226823213237919
    , -Double
0.1521609496625161
    , Double
0.20136540080403034
    , Double
0.02265179219836082
    , Double
0.0
    ]

dop853E5 :: [Double]
dop853E5 :: [Double]
dop853E5 =
    [ Double
0.01312004499419488
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , Double
0.0
    , -Double
1.2251564463762044
    , -Double
0.4957589496572502
    , Double
1.6643771824549864
    , -Double
0.35032884874997366
    , Double
0.3341791187130175
    , Double
0.08192320648511571
    , -Double
0.022355307863886294
    , Double
0.0
    ]