Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 10 and 12 order boundary optimized operators of Mattsson, Almquist, van der Weide #152

Draft
wants to merge 18 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
359 changes: 359 additions & 0 deletions dev/MattssonAlmquistVanDerWeide2018Accurate_dev.jl
Original file line number Diff line number Diff line change
Expand Up @@ -152,3 +152,362 @@ q12 = [0 0 0 0 0 0 0 1//280 -4//105 1//5 -4//5 0]
Q = vcat(q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12)

D1 = H \ (Q - 1//2*e*e'); display(D1)



# order 10
h = [
1.0000000000000e-01,
5.8980851260667e-01,
9.5666820955973e-01,
1.1500297411596e+00,
1.1232986993248e+00,
1.0123020150951e+00,
9.9877122702527e-01,
1.0000873322761e+00,
1.0000045540888e+00,
9.9999861455083e-01,
1, 1, 1, 1, 1]
e = [1//1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
H = Diagonal(h)

q1 = [-5.0000000000000e-01,
6.7548747038002e-01,
-2.6691978151546e-01,
1.4438714982130e-01,
-7.7273673750760e-02,
2.5570078343005e-02,
4.2808774693299e-03,
-8.2902108933389e-03,
3.2031176427908e-03,
-4.4502749689556e-04,
0, 0, 0, 0, 0]'
q2 = [-6.7548747038002e-01,
0,
9.5146052715180e-01,
-4.2442349882626e-01,
2.1538865145190e-01,
-7.1939778160350e-02,
-8.2539187832840e-03,
1.9930661669090e-02,
-7.7433256989613e-03,
1.0681515760869e-03,
0, 0, 0, 0, 0]'
q3 = [2.6691978151546e-01,
-9.5146052715180e-01,
0,
9.6073770842387e-01,
-3.9378595264609e-01,
1.3302097358959e-01,
8.1200458151489e-05,
-2.3849770528789e-02,
9.6600442856829e-03,
-1.3234579460680e-03,
0, 0, 0, 0, 0]'
q4 = [-1.4438714982130e-01,
4.2442349882626e-01,
-9.6073770842387e-01,
0,
9.1551097634196e-01,
-2.8541713079648e-01,
4.1398809121293e-02,
1.7256059167927e-02,
-9.4349194803610e-03,
1.3875650645663e-03,
0, 0, 0, 0, 0]'
q5 = [7.7273673750760e-02,
-2.1538865145190e-01,
3.9378595264609e-01,
-9.1551097634196e-01,
0,
8.3519401865051e-01,
-2.0586492924974e-01,
3.1230261235901e-02,
-2.0969453466651e-04,
-5.0965470499782e-04,
0, 0, 0, 0, 0]'
q6 = [-2.5570078343005e-02,
7.1939778160350e-02,
-1.3302097358959e-01,
2.8541713079648e-01,
-8.3519401865051e-01,
0,
8.1046389580138e-01,
-2.1879194972141e-01,
5.2977237804899e-02,
-9.0146730522360e-03,
7.9365079365079e-04,
0, 0, 0, 0]'
q7 = [-4.2808774693299e-03,
8.2539187832840e-03,
-8.1200458151489e-05,
-4.1398809121293e-02,
2.0586492924974e-01,
-8.1046389580138e-01,
0,
8.2787884456005e-01,
-2.3582460382545e-01,
5.9178678209520e-02,
-9.9206349206349e-03,
7.9365079365079e-04,
0, 0, 0]'
q8 = [8.2902108933389e-03,
-1.9930661669090e-02,
2.3849770528789e-02,
-1.7256059167927e-02,
-3.1230261235901e-02,
2.1879194972141e-01,
-8.2787884456005e-01,
0,
8.3301028859275e-01,
-2.3804321850015e-01,
5.9523809523809e-02,
-9.9206349206349e-03,
7.9365079365079e-04,
0, 0]'
q9 = [-3.2031176427908e-03,
7.7433256989613e-03,
-9.6600442856829e-03,
9.4349194803610e-03,
2.0969453466651e-04,
-5.2977237804899e-02,
2.3582460382545e-01,
-8.3301028859275e-01,
0,
8.3333655748509e-01,
-2.3809523809524e-01,
5.9523809523809e-02,
-9.9206349206349e-03,
7.9365079365079e-04,
0]'
q10 = [4.4502749689556e-04,
-1.0681515760869e-03,
1.3234579460680e-03,
-1.3875650645663e-03,
5.0965470499782e-04,
9.0146730522360e-03,
-5.9178678209520e-02,
2.3804321850015e-01,
-8.3333655748509e-01,
0,
8.3333333333333e-01,
-2.3809523809524e-01,
5.9523809523809e-02,
-9.9206349206349e-03,
7.9365079365079e-04]'
q11 = [0 0 0 0 -1//1260 5//504 -5//84 5//21 -5//6 0 5//6 -5//21 5//84 -5//504 1//1260]
q12 = [0 0 0 0 0 -1//1260 5//504 -5//84 5//21 -5//6 0 5//6 -5//21 5//84 -5//504]
q13 = [0 0 0 0 0 0 -1//1260 5//504 -5//84 5//21 -5//6 0 5//6 -5//21 5//84]
q14 = [0 0 0 0 0 0 0 -1//1260 5//504 -5//84 5//21 -5//6 0 5//6 -5//21]
q15 = [0 0 0 0 0 0 0 0 -1//1260 5//504 -5//84 5//21 -5//6 0 5//6]

Q = vcat(q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15)

D1 = H \ (Q - 1//2*e*e'); display(D1)



# order 12
h = [
1.0000000000011e-01,
5.9616216757547e-01,
9.9065699844442e-01,
1.2512548713913e+00,
1.3316678989403e+00,
1.2093375037721e+00,
1.0236491595704e+00,
9.9685258909811e-01,
1.0004766563923e+00,
9.9993617879146e-01,
1.0000063122914e+00,
9.9999966373260e-01,
1, 1, 1, 1, 1, 1]
e = [1//1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
H = Diagonal(h)

q1 = [-5,
6.7597560728423e-01,
-2.6859785384416e-01,
1.4850302678903e-01,
-8.7976689586154e-02,
4.1833336322613e-02,
-2.2216684976993e-03,
-1.5910034062022e-02,
1.1296706376589e-02,
-3.1823678285130e-03,
2.4843594063649e-04,
3.1501105449828e-05,
0, 0, 0, 0, 0, 0]'
q2 = [-6.7597560728423e-01,
0,
9.5424013647146e-01,
-4.3389334603464e-01,
2.4285669347653e-01,
-1.1443465137214e-01,
8.5942765682435e-03,
4.0290424215772e-02,
-2.9396383714543e-02,
8.5601827834256e-03,
-7.8128092862319e-04,
-6.0444181254875e-05,
0, 0, 0, 0, 0, 0]'
q3 = [2.6859785384416e-01,
-9.5424013647146e-01,
0,
9.7065114311923e-01,
-4.3205328628292e-01,
1.9549970932735e-01,
-2.4406885385172e-02,
-5.5737279079895e-02,
4.3772338637753e-02,
-1.3727655130726e-02,
1.6271304373071e-03,
1.7066984372933e-05,
0, 0, 0, 0, 0, 0]'
q4 = [-1.4850302678903e-01,
4.3389334603464e-01,
-9.7065114311923e-01,
0,
9.5375878629204e-01,
-3.6113954384951e-01,
6.9749289223875e-02,
6.5161366516465e-02,
-6.0325702283960e-02,
2.1188913621662e-02,
-3.2632650250470e-03,
1.3097937809499e-04,
0, 0, 0, 0, 0, 0]'
q5 = [8.7976689586154e-02,
-2.4285669347653e-01,
4.3205328628292e-01,
-9.5375878629204e-01,
0,
8.8676146394834e-01,
-2.1292503103800e-01,
-4.6037018833218e-02,
7.4338719466734e-02,
-3.1217656663809e-02,
6.1239492854797e-03,
-4.5892226603067e-04,
0, 0, 0, 0, 0, 0]'
q6 = [-4.1833336322613e-02,
1.1443465137214e-01,
-1.9549970932735e-01,
3.6113954384951e-01,
-8.8676146394834e-01,
0,
7.7461223007026e-01,
-1.0609547334165e-01,
-4.4853791547749e-02,
3.2436468405486e-02,
-8.4387621360184e-03,
8.5964292632428e-04,
0, 0, 0, 0, 0, 0]'
q7 = [2.2216684976993e-03,
-8.5942765682435e-03,
2.4406885385172e-02,
-6.9749289223875e-02,
2.1292503103800e-01,
-7.7461223007026e-01,
0,
7.4758103262966e-01,
-1.5730779067906e-01,
2.6517620342970e-02,
-4.3175367549700e-03,
1.1092605832824e-03,
-1.8037518037522e-04,
0, 0, 0, 0, 0]'
q8 = [1.5910034062022e-02,
-4.0290424215772e-02,
5.5737279079895e-02,
-6.5161366516465e-02,
4.6037018833218e-02,
1.0609547334165e-01,
-7.4758103262966e-01,
0,
8.0975719267918e-01,
-2.3568822398349e-01,
6.9373143801571e-02,
-1.6606121869177e-02,
2.5974025974031e-03,
-1.8037518037522e-04,
0, 0, 0, 0]'
q9 = [-1.1296706376589e-02,
2.9396383714543e-02,
-4.3772338637753e-02,
6.0325702283960e-02,
-7.4338719466734e-02,
4.4853791547749e-02,
1.5730779067906e-01,
-8.0975719267918e-01,
0,
8.4765775072084e-01,
-2.6369594097148e-01,
7.8759594625702e-02,
-1.7857142857146e-02,
2.5974025974031e-03,
-1.8037518037522e-04,
0, 0, 0]'
q10 = [3.1823678285130e-03,
-8.5601827834256e-03,
1.3727655130726e-02,
-2.1188913621662e-02,
3.1217656663809e-02,
-3.2436468405486e-02,
-2.6517620342970e-02,
2.3568822398349e-01,
-8.4765775072084e-01,
0,
8.5631774953989e-01,
-2.6769768119702e-01,
7.9365079365093e-02,
-1.7857142857146e-02,
2.5974025974031e-03,
-1.8037518037522e-04,
0, 0]'
q11 = [-2.4843594063649e-04,
7.8128092862319e-04,
-1.6271304373071e-03,
3.2632650250470e-03,
-6.1239492854797e-03,
8.4387621360184e-03,
4.3175367549700e-03,
-6.9373143801571e-02,
2.6369594097148e-01,
-8.5631774953989e-01,
0,
8.5712580212095e-01,
-2.6785714285718e-01,
7.9365079365093e-02,
-1.7857142857146e-02,
2.5974025974031e-03,
-1.8037518037522e-04,
0]'
q12 = [-3.1501105449828e-05,
6.0444181254875e-05,
-1.7066984372933e-05,
-1.3097937809499e-04,
4.5892226603067e-04,
-8.5964292632428e-04,
-1.1092605832824e-03,
1.6606121869177e-02,
-7.8759594625702e-02,
2.6769768119702e-01,
-8.5712580212095e-01,
0,
8.5714285714289e-01,
-2.6785714285718e-01,
7.9365079365093e-02,
-1.7857142857146e-02,
2.5974025974031e-03,
-1.8037518037522e-04]'
q13 = [0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7 -15//56 5//63 -1//56 1//385 -1//5544]
q14 = [0 0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7 -15//56 5//63 -1//56 1//385]
q15 = [0 0 0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7 -15//56 5//63 -1//56]
q16 = [0 0 0 0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7 -15//56 5//63]
q17 = [0 0 0 0 0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7 -15//56]
q18 = [0 0 0 0 0 0 0 0 0 0 1//5544 -1//385 1//56 -5//63 15//56 -6//7 0 6//7]

Q = vcat(q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18)

D1 = H \ (Q - 1//2*e*e'); display(D1)
Loading