, 42 min read

Stability Regions for Mihelčić's Formulas

Matija Mihelcic and K. Wingerath searched for cyclic multistep methods, which

  1. were of high order p
  2. had a remarkable low number of stepnumbers k
  3. 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.

Also see Design Notes on System for the Analysis of Order- and Stepsize Changes for Cyclic Composite Multistep Methods.

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.