, 42 min read
Stability Regions for Mihelčić's Formulas
Matija Mihelcic and K. Wingerath searched for cyclic multistep methods, which
- were of high order p
- had a remarkable low number of stepnumbers k
- adhere to the condition of annulated dominance
order p | step k | cycle length l |
---|---|---|
4 | 3 | 2 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 5 | 5 |
Bibliography: Matija (Miško) Mihelčić (1935—2011).
Matija Mihelčić (Mihelcic): "Fast A-stabile Donelson-Hansensche zyklische Verfahren zur numerischen Integration von 'stiff'-Differentialgleichungssystemen", Angewandte Informatik, 1977, Vol 19, Heft 7, pp.299—305
Matija Mihelčić (Mihelcic): "A(α)-Stable Composite Multistep Methods of Order 5", Computing, Vol 20, 1978, pp.267—272
Matija Mihelčić (Mihelcic) und K. Wingerath: "A(α)-stable Cyclic Composite Multistep Methods of Orders 6 and 7 for Numerical Integration of Stiff Ordinary Differential Equations", ZAMM, Band 61, 1981, pp.261—264
Below table summarizes the Widlund-α-wedge. ODIOUS denotes the formulas from Peter Tischer. BP73 denotes the block-implicit methods from Bickart/Picel (1973).
p | TENDLER | BDF | ODIOUS | BP73 | Mihelcic |
---|---|---|---|---|---|
1 | 90.00 | 90.00 | 90.00 | 90.0 | * |
2 | 90.00 | 90.00 | 90.00 | 90.0 | * |
3 | 89.43 | 86.03 | 90.00 | 88.9 | * |
4 | 80.88 | 73.35 | 90.00 | 87.7 | 40.6 |
5 | 77.48 | 51.84 | 86.64 | 85.5 | 53.0 |
6 | 63.25 | 17.84 | 76.32 | 82.7 | 52.7 |
7 | 33.53 | * | 57.66 | 79.5 | 44.8 |
8 | * | * | 22.15 | 76.0 | * |
9 | * | * | * | 72.5 | * |
10 | * | * | * | 69.6 | * |
Here we compute these values by using the QZ algorithm.
The program stabregion
has a command line flag -s
for the Tischer/Sacks-Davis formulas.
See Stability Regions for BDF and Tendler's Formulas.
1. The stability regions. You can hover over the diagrams and see the values.
2. stabregion program. The formulas were entered like so.
formula_t F[] = {
. . .
{
"Mihelcic4", 4, 3, 2, // name, p, k, l
(double[]){
0.635, 0,
4.08, -21299.0 / 63500,
-5.715, 0.288,
1, -60489.0 / 63500,
0, 1,
// --------
0, 0,
-653.0 / 200, 4203.0 / 25400,
-1.63, 10527.0 / 127000,
109.0 / 200, 94929.0 / 127000,
0, 0.387 }
},
{
"Mihelcic5", 4, 3, 3, // name, p, k, l
(double[]){
1.473, 0, 0,
8.784, -1.369091006228046872693999232562, 0,
-13.257, 2.544, 0.363,
3, -2.174908993771953127306000767438, -2.160,
0, 1, -1.203,
0, 0, 3,
// --------
0, 0, 0,
-7.347, 0.6040303354093489575646664108540, 0,
-2.874, 0.2391213416373958302586656434162, -0.086,
1.491, -0.1299696645906510424353335891459, 0.061,
0, 0.481, 3.424,
0, 0, 1.035 }
},
{
"Mihelcic6", 6, 4, 4, // name, p, k, l
(double[]){
-0.9390362339466378776258361005001e-01, 0, 0, 0,
0.2307741600964885363988695519087e+00, 0.1313792557365642037980205785897e+01, 0, 0,
0.6362705032057367094700091337420e+00, -0.5218540536524916920611801547836e+01, 0.1394364937701534512038572085087e+00, 0,
-0.1773141039907661458106295075601e+01, 0.7529417145415851180555472647834e+01, -0.1011623223444230192358671688990e+01, 0.1444191297888636803281533656209e+01,
1, -0.4624669166256576297923876885895e+01, 0.2533821653452779618403940682161e+01, -0.5492130726047090045832910083724e+01,
0, 1, -0.2661634923778702877249126201679e+01, 0.7660459268273149438357977410280e+01,
0, 0, 1, -0.4612519840114696195806600982764e+01,
0, 0, 0, 1,
// ------------------------------------------------------------------------------------------------------------------------------------------------------------
-0.1853058013316520953710176130202e-02, 0, 0, 0,
0.2451624610656680441199165441716e+00, -0.6428104226828121021947147465023e+00, 0, 0,
-0.9774386604306546531165819680760e+00, 0.1217442120880404165141230674303e+01, -0.1234001277245579249775694769490e+00, 0,
0.5535769499829904561071401752847e+00, 0.2924405192057778509076307429902e+00, 0.6120300247935214387198741562141e+00, -0.6918619210365557047027968203354e+00,
0.3644443541805902548632380173403e+00, -0.1439373462587944161697640697511e+01, -0.8155238085505402874283164469721e+00, 0.1168008238715629118739713863798e+01,
0, 0.5385875007216307945710071168686e+00, -0.1145523605965158361286500199803e-01, 0.4386358816535462908082534556190e+00,
0, 0, 0.4094644596664487699907078389984e+00, -0.1467449527693897117841289393376e+01,
0, 0, 0, 0.5438956185163976564593606928377e+00 }
},
{
"Mihelcic7", 7, 5, 5, // name, p, k, l
(double[]){
-0.8153861905026022737434167615414e+00, 0, 0, 0, 0,
0.4248895254033088383481894572139e+01, -0.2222441760654655361593826056284e-01, 0, 0, 0,
-0.8854047951365927037900576200388e+01, 0.2654870121454308294304980610591e+00, -0.1032372883543017869086260071380e+00, 0, 0,
0.9222953551982948533098094387068e+01, -0.1205209745869234199415093321373e+01, 0.8599203816315797312780689738287e+00, -0.4503824855570349203575243869964e+00, 0,
-0.4802414664147507604935996997277e+01, 0.2592699276978907532702377400625e+01, -0.2778518172270275904802809146576e+01, 0.2649630382099203346956766040160e+01, 0.3219958911202349451261006329238e-02,
1, -0.2630752125658557609101843879749e+01, 0.4366928200996645755541775423194e+01, -0.6226227266320010195981550682429e+01, 0.1553984660531454990906076870577e-01,
0, 1, -0.3345093122003647795108409243309e+01, 0.7304031887973224464306216642665e+01, -0.4533196816782826816679836557976e+00,
0, 0, 1, -0.4277052518196382694923907613400e+01, 0.1691723344964800813261126750020e+01,
0, 0, 0, 1, -0.2257163468803035030953464869257e+01,
0, 0, 0, 0, 1,
// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0.4225456071360219714271811811639e+00, 0, 0, 0, 0,
-0.1384364739812333541090764922689e+01, 0.5044748643224129949603468040808e-01, 0, 0, 0,
0.1146229672531143866569110401229e+01, -0.3550507135730755767219599244966e+00, 0.1003502539567659420767582244072e+00, 0, 0,
0.6542124190961045586099091344395e+00, 0.9776848659097670987554894143623e+00, -0.6085349671365743688808169611528e+00, 0.2643442532041219470801194385611e+00, 0,
-0.1322701573944066648938040619221e+01, -0.1124773012768567816507929091140e+01, 0.1286689084300843479379774302352e+01, -0.1081991130901289033649461985260e+01, 0.3096249379217892308281396122901e-01,
0.4840799656531792806536461685364e+00, 0.1917873380953330674263870885019e+00, -0.9223533615854392440249726038524e+00, 0.1354222521191408219378646232897e+01, -0.2269170368480450921510442892867e+00,
0, 0.3700608846337565198520459335580e+00, -0.2298469653682757407333327433246e+00, -0.9237493311630675669214627664954e-01, 0.7904598622265127771615281344478e+00,
0, 0, 0.3969920978990539400467297585933e+00, -0.8904512454964667161729702886816e+00, -0.1202094468615905428211278510487e+01,
0, 0, 0, 0.4473119757158579081724970288316e+00, 0.4061703817752004671762456256483e+00,
0, 0, 0, 0, 0.3568354106010698554863523086895e+00 }
},
. . .
Above diagrams were produced like so:
for i in `seq 4 7`; do stabregion -m$i -oj -r600 >> /tmp/formulas; done
stabregion
performs a check on the order.
Checking the correct order for the order eight method.
Mihelcic7, p=7, k=5, l=5
-0.8154 0.0000 0.0000 0.0000 0.0000
4.2489 -0.0222 0.0000 0.0000 0.0000
-8.8540 0.2655 -0.1032 0.0000 0.0000
9.2230 -1.2052 0.8599 -0.4504 0.0000
-4.8024 2.5927 -2.7785 2.6496 0.0032
1.0000 -2.6308 4.3669 -6.2262 0.0155
0.0000 1.0000 -3.3451 7.3040 -0.4533
0.0000 0.0000 1.0000 -4.2771 1.6917
0.0000 0.0000 0.0000 1.0000 -2.2572
0.0000 0.0000 0.0000 0.0000 1.0000
0.4225 0.0000 0.0000 0.0000 0.0000
-1.3844 0.0504 0.0000 0.0000 0.0000
1.1462 -0.3551 0.1004 0.0000 0.0000
0.6542 0.9777 -0.6085 0.2643 0.0000
-1.3227 -1.1248 1.2867 -1.0820 0.0310
0.4841 0.1918 -0.9224 1.3542 -0.2269
0.0000 0.3701 -0.2298 -0.0924 0.7905
0.0000 0.0000 0.3970 -0.8905 -1.2021
0.0000 0.0000 0.0000 0.4473 0.4062
0.0000 0.0000 0.0000 0.0000 0.3568
rho_0 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 <-----
rho_1 -0.000000000 -0.000000000 0.000000010 -0.000000000 0.000000000 <-----
rho_2 0.000000000 -0.000000000 0.000000100 -0.000000000 0.000000000 <-----
rho_3 -0.000000000 -0.000000000 0.000000750 -0.000000000 0.000000000 <-----
rho_4 0.000000000 -0.000000001 0.000005000 -0.000000002 0.000000000 <-----
rho_5 -0.000000000 -0.000000002 0.000031250 -0.000000017 0.000000000 <-----
rho_6 0.000000000 -0.000000007 0.000187500 -0.000000118 0.000000000 <-----
rho_7 -380.244711682 -131.147463978 -181.569375773 -292.075880578 -107.416443262 <-----
rho_8 -7646.239139806 -3876.002411054 -6731.935756390 -12973.881560683 -5789.895353638 <-----
It is only the p=7 method which exhibits this behaviour.
3. Conjecture. Mihelcic and Wingerath make the following conjecture:
However this seems to be too optimistic! At any rate we were not able to obtain these orders of accuracy. Moreover, it seems to us that the following conjecture could be true:
“The A(α)-stable (k,M)-methods- with k = M and k > 3 have the greatest possible order of accuracy P = k + 2.”
However, we were unsuccessful in proving it.