jacobwilliams / quadpack Goto Github PK
View Code? Open in Web Editor NEWModern Fortran QUADPACK Library for 1D numerical quadrature
License: Other
Modern Fortran QUADPACK Library for 1D numerical quadrature
License: Other
It would be nice to add the MATLAB algorithm, which is described in
Shampine, L. F. (2008). Vectorized adaptive quadrature in MATLAB. Journal of Computational and Applied Mathematics, 211(2), 131-140. https://doi.org/10.1016/j.cam.2006.11.021
I believe the algorithm is similar to those in QUADPACK, but with a few small differences in how the error estimate is constructed.
For simplicity it offers a unified interface for both proper and improper integrals.
Executing: cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm install --verbose --prefix="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/opt/local" --profile="release"
DEBUG: system: cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm install --verbose --prefix="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/opt/local" --profile="release"
<ERROR> error: Missing key for table header
--> fpm.toml:21:3
|
21 | [[ test ]]
| ^ unexpected whitespace
|
STOP 1
Command failed: cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm install --verbose --prefix="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_fortran_quadpack/quadpack/work/opt/local" --profile="release"
Exit code: 1
Same error on arm64:
---> Building quadpack
xinstall: mkdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fortran_quadpack/quadpack/work/bin
Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm install --verbose --prefix="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fortran_quadpack/quadpack/work/opt/local" --profile="release"
<ERROR> error: Missing key for table header
--> fpm.toml:21:3
|
21 | [[ test ]]
| ^ unexpected whitespace
|
STOP 1
Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm install --verbose --prefix="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fortran_quadpack/quadpack/work/opt/local" --profile="release"
Exit code: 1
The GNU Scientific Library also contains an implementation of the algorithm from
P. Gonnet, “Increasing the Reliability of Adaptive Quadrature Using Explicit Interpolants”, ACM Transactions on Mathematical Software, Volume 37 (2010), Issue 3, Article 26. https://doi.org/10.1145/1824801.1824804
In principle Fortran programmers can use it via the fgsl wrapper library, but it would be nice to have them all in one place.
The same author also published a review of error estimation approaches
Gonnet, P. (2012). A review of error estimation in adaptive quadrature. ACM Computing Surveys (CSUR), 44(4), 1-36. https://dl.acm.org/doi/abs/10.1145/2333112.2333117
See quadrature-fortran. Can we merge that library into this one? All the routines would need to be made recursive. Could allow the method to be independently-selected for each dimension.
What is the best way to export single, double, and quad procedures that:
See #4
Consider adding fixed-precision versions of David H. Bailey's routines from tquad.f90 in MPFUN2020.
See the quad
routine, which looks to be a different formulation of what is being done in dqng
. Add it for testing.
Need to figure out how to regenerate the remaining coefficients in dqng
.
See #5. Maybe we need 36 digits?
I get the following error when I try to compile the library using the Intel compiler:
./quadpack_generic.F90(7823): warning #6843: A dummy argument with an explicit INTENT(OUT) declaration is not given an explicit value. [ERR]
subroutine dqnc79(fun,a,b,err,ans,ierr,k)
------------------------------^
I believe that err
argument is actually an input argument, so the fix would be obviuos.
diff --git a/src/quadpack_generic.F90 b/src/quadpack_generic.F90
index 66344ed..eb8b056 100644
--- a/src/quadpack_generic.F90
+++ b/src/quadpack_generic.F90
@@ -7830 +7830 @@ subroutine dquad(f, a, b, result, epsil, npts, icheck)
- real(wp),intent(out) :: err !! a requested error tolerance. Normally, pick a value
+ real(wp),intent(in) :: err !! a requested error tolerance. Normally, pick a value
add topic fortran-package-manager
There are a few quadrature routines in slatec that could be incorporated:
Consider replacing linpack DGTSL
with lapack DGTSV
. This was done in the SciPy version. See: scipy/scipy@361468a#diff-3bc2ad4ff04dcd0fd46bde7b0a273a6b453177a8494cbc77f08009db5cb8ad93
I believe this line:
if (Ier == 6) lvl = 0
should be :
if (Ier == 6) lvl = 1
Which matches all the other routines. This is a bug that has been in there since 1983.
Thanks for re-implementing the QUADPACK in modern FORTRAN. I would like to know if it is possible to add the C/C++
API (dynamic/static library). As a user of C/C++/JAVA/scala, I do not have any experience in the FORTRAN language.
---> Testing quadpack
Executing: cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_fortran_quadpack/quadpack/work/quadpack-2.1.1" && /opt/local/bin/fpm test --flag="-I/opt/local/var/macports/build/_opt_PPCRosettaPorts_fortran_quadpack/quadpack/work/destroot/opt/local/include" --link-flag="-L/opt/local/var/macports/build/_opt_PPCRosettaPorts_fortran_quadpack/quadpack/work/destroot/opt/local/lib" --profile="release"
[ 0%] quadpack_double.F90
[ 7%] quadpack_double.F90 done.
[ 7%] quadpack_quad.F90
[ 15%] quadpack_quad.F90 done.
[ 15%] quadpack_single.F90
[ 23%] quadpack_single.F90 done.
[ 23%] libquadpack.a
[ 30%] libquadpack.a done.
[ 30%] quadpack_test_module_double.F9
[ 38%] quadpack_test_module_double.F9 done.
[ 38%] quadpack_test_module_quad.F90
[ 46%] quadpack_test_module_quad.F90 done.
[ 46%] quadpack_test_module_single.F9
[ 53%] quadpack_test_module_single.F9 done.
[ 53%] quadpack_tests_single.F90
[ 61%] quadpack_tests_single.F90 done.
[ 61%] quadpack_tests_double.F90
[ 69%] quadpack_tests_double.F90 done.
[ 69%] quadpack_tests_quad.F90
[ 76%] quadpack_tests_quad.F90 done.
[ 76%] single
[ 84%] single done.
[ 84%] double
[ 92%] double done.
[ 92%] quad
[100%] quad done.
[100%] Project compiled successfully.
quadpack_tests : Single. tol = 3.45267006E-03
dqag-1 1.154701E+00 0.000000E+00 225
dqag-2 1.154701E+00 0.000000E+00 315
dqag-3 1.154701E+00 1.192093E-07 217
dqag-4 1.154701E+00 0.000000E+00 287
dqag-5 1.154701E+00 0.000000E+00 255
dqagi 3.079725E+00 1.525879E-04 255
dqagp 4.253487E+00 2.007484E-04 819
dqags 2.000000E+00 4.768372E-07 231
dqawc -6.284617E+02 0.000000E+00 225
dqawf 1.422564E+00 1.204014E-05 6990
dqawo -1.776392E-01 4.470348E-08 255
dqaws 5.350192E-01 1.192093E-07 50
dqng 1.270724E+00 1.192093E-07 21
dqag C(1)-1 5.904893E-01 1.192093E-07 15
dqag f1-1 2.500000E-01 1.490116E-08 15
dqag f2-1 2.106572E-01 2.980232E-08 15
dqag f3-1 1.905239E+00 2.384186E-07 15
dqag f4-1 5.140419E-01 5.960464E-08 15
dqag i2-1 8.435118E-01 0.000000E+00 15
dqag i3-1 2.467401E+00 0.000000E+00 45
dqag C(1)-2 5.904893E-01 1.192093E-07 21
dqag f1-2 2.500000E-01 1.490116E-08 21
dqag f2-2 2.106572E-01 1.490116E-08 21
dqag f3-2 1.905239E+00 2.384186E-07 21
dqag f4-2 5.140419E-01 5.960464E-08 21
dqag i2-2 8.435118E-01 0.000000E+00 21
dqag i3-2 2.467401E+00 2.384186E-07 21
dqag C(1)-3 5.904893E-01 1.192093E-07 31
dqag f1-3 2.500000E-01 0.000000E+00 31
dqag f2-3 2.106573E-01 0.000000E+00 31
dqag f3-3 1.905239E+00 3.576279E-07 31
dqag f4-3 5.140419E-01 5.960464E-08 31
dqag i2-3 8.435118E-01 0.000000E+00 31
dqag i3-3 2.467401E+00 2.384186E-07 31
dqag C(1)-4 5.904893E-01 1.788139E-07 41
dqag f1-4 2.500000E-01 0.000000E+00 41
dqag f2-4 2.106572E-01 1.490116E-08 41
dqag f3-4 1.905239E+00 3.576279E-07 41
dqag f4-4 5.140419E-01 5.960464E-08 41
dqag i2-4 8.435118E-01 0.000000E+00 41
dqag i3-4 2.467401E+00 2.384186E-07 41
dqag C(1)-5 5.904893E-01 1.192093E-07 51
dqag f1-5 2.500000E-01 1.490116E-08 51
dqag f2-5 2.106573E-01 0.000000E+00 51
dqag f3-5 1.905239E+00 0.000000E+00 51
dqag f4-5 5.140419E-01 5.960464E-08 51
dqag i2-5 8.435119E-01 1.192093E-07 51
dqag i3-5 2.467401E+00 2.384186E-07 51
dqng C(1)-6 5.904893E-01 1.192093E-07 21
dquad C(1)-6 5.904893E-01 1.192093E-07 7
dgauss8 C(1)-6 5.904893E-01 1.192093E-07 7
simpson C(1)-6 5.906193E-01 1.301765E-04 7
lobatto C(1)-6 5.904893E-01 1.192093E-07 7
dqng f1-6 2.500000E-01 1.490116E-08 21
dquad f1-6 2.500000E-01 0.000000E+00 7
dgauss8 f1-6 2.500000E-01 0.000000E+00 7
simpson f1-6 2.500083E-01 8.314848E-06 7
lobatto f1-6 2.500000E-01 2.980232E-08 7
dqng f2-6 2.106572E-01 1.490116E-08 21
dquad f2-6 2.106572E-01 1.490116E-08 7
dgauss8 f2-6 2.106572E-01 1.490116E-08 7
simpson f2-6 2.106856E-01 2.838671E-05 7
lobatto f2-6 2.106573E-01 0.000000E+00 7
dqng f3-6 1.905239E+00 2.384186E-07 21
dquad f3-6 1.905239E+00 2.384186E-07 7
dgauss8 f3-6 1.905239E+00 2.384186E-07 7
simpson f3-6 1.905397E+00 1.577139E-04 7
lobatto f3-6 1.905239E+00 2.384186E-07 7
dqng f4-6 5.140419E-01 5.960464E-08 21
dquad f4-6 5.140419E-01 5.960464E-08 7
dgauss8 f4-6 5.140419E-01 5.960464E-08 7
simpson f4-6 5.141450E-01 1.029968E-04 7
lobatto f4-6 5.140419E-01 5.960464E-08 7
dqng i2-6 8.435118E-01 0.000000E+00 21
dquad i2-6 8.435118E-01 0.000000E+00 7
dgauss8 i2-6 8.435119E-01 1.192093E-07 7
dqng i3-6 2.467401E+00 2.384186E-07 21
dquad i3-6 2.467405E+00 3.576279E-06 15
dgauss8 i3-6 2.467401E+00 0.000000E+00 15
simpson i3-6 2.467587E+00 1.862049E-04 15
lobatto i3-6 2.467401E+00 0.000000E+00 15
davint square 1.600000E+01 0.000000E+00 0
quadpack_tests : Double. tol = 1.4901161193847664E-007
dqag-1 1.154701E+00 2.597922E-14 465
dqag-2 1.154701E+00 1.998401E-15 483
dqag-3 1.154701E+00 0.000000E+00 465
dqag-4 1.154701E+00 1.100453E-12 287
dqag-5 1.154701E+00 1.776357E-15 357
dqagi 3.079572E+00 2.655209E-12 645
dqagp 4.253688E+00 3.223368E-10 1365
dqags 2.000000E+00 1.554312E-15 231
dqawc -6.284617E+02 1.500666E-11 425
dqawf 1.422552E+00 9.672154E-10 20220
dqawo -1.776392E-01 3.053113E-15 285
dqaws 5.350191E-01 2.220446E-16 50
dqng 1.270724E+00 0.000000E+00 21
dqag C(1)-1 5.904893E-01 4.440892E-16 15
dqag f1-1 2.500000E-01 0.000000E+00 15
dqag f2-1 2.106573E-01 0.000000E+00 15
dqag f3-1 1.905239E+00 2.220446E-16 15
dqag f4-1 5.140419E-01 0.000000E+00 15
dqag i2-1 8.435118E-01 1.110223E-16 15
dqag i3-1 2.467401E+00 4.440892E-16 105
dqag C(1)-2 5.904893E-01 5.551115E-16 21
dqag f1-2 2.500000E-01 0.000000E+00 21
dqag f2-2 2.106573E-01 2.775558E-17 21
dqag f3-2 1.905239E+00 0.000000E+00 21
dqag f4-2 5.140419E-01 0.000000E+00 21
dqag i2-2 8.435118E-01 1.110223E-16 21
dqag i3-2 2.467401E+00 0.000000E+00 63
dqag C(1)-3 5.904893E-01 5.551115E-16 31
dqag f1-3 2.500000E-01 0.000000E+00 31
dqag f2-3 2.106573E-01 2.775558E-17 31
dqag f3-3 1.905239E+00 0.000000E+00 31
dqag f4-3 5.140419E-01 0.000000E+00 31
dqag i2-3 8.435118E-01 1.110223E-16 31
dqag i3-3 2.467401E+00 0.000000E+00 93
dqag C(1)-4 5.904893E-01 6.661338E-16 41
dqag f1-4 2.500000E-01 5.551115E-17 41
dqag f2-4 2.106573E-01 2.775558E-17 41
dqag f3-4 1.905239E+00 6.661338E-16 41
dqag f4-4 5.140419E-01 0.000000E+00 41
dqag i2-4 8.435118E-01 1.110223E-16 41
dqag i3-4 2.467401E+00 0.000000E+00 41
dqag C(1)-5 5.904893E-01 5.551115E-16 51
dqag f1-5 2.500000E-01 5.551115E-17 51
dqag f2-5 2.106573E-01 5.551115E-17 51
dqag f3-5 1.905239E+00 2.220446E-16 51
dqag f4-5 5.140419E-01 0.000000E+00 51
dqag i2-5 8.435118E-01 1.110223E-16 51
dqag i3-5 2.467401E+00 4.440892E-16 51
dqng C(1)-6 5.904893E-01 5.551115E-16 21
dquad C(1)-6 5.904893E-01 5.551115E-16 15
dgauss8 C(1)-6 5.904893E-01 2.220446E-16 15
simpson C(1)-6 5.904893E-01 2.923517E-11 15
lobatto C(1)-6 5.904893E-01 1.311865E-08 15
dqng f1-6 2.500000E-01 0.000000E+00 21
dquad f1-6 2.500000E-01 0.000000E+00 15
dgauss8 f1-6 2.500000E-01 2.775558E-17 15
simpson f1-6 2.500000E-01 5.609141E-11 15
lobatto f1-6 2.500000E-01 8.951853E-10 15
dqng f2-6 2.106573E-01 2.775558E-17 21
dquad f2-6 2.106573E-01 2.775558E-17 15
dgauss8 f2-6 2.106573E-01 8.326673E-17 15
simpson f2-6 2.106573E-01 9.364062E-11 15
lobatto f2-6 2.106572E-01 6.346478E-09 15
dqng f3-6 1.905239E+00 0.000000E+00 21
dquad f3-6 1.905239E+00 2.220446E-16 15
dgauss8 f3-6 1.905239E+00 0.000000E+00 15
simpson f3-6 1.905239E+00 6.870144E-10 15
lobatto f3-6 1.905239E+00 6.133078E-10 15
dqng f4-6 5.140419E-01 0.000000E+00 21
dquad f4-6 5.140419E-01 0.000000E+00 15
dgauss8 f4-6 5.140419E-01 6.661338E-16 15
simpson f4-6 5.140419E-01 2.331491E-11 15
lobatto f4-6 5.140419E-01 1.047380E-08 15
dqng i2-6 8.435118E-01 1.110223E-16 21
dquad i2-6 8.435118E-01 1.110223E-16 15
dgauss8 i2-6 8.435118E-01 0.000000E+00 15
dqng i3-6 2.467401E+00 4.440892E-16 43
dquad i3-6 2.467401E+00 4.440892E-16 63
dgauss8 i3-6 2.467401E+00 1.966738E-11 63
simpson i3-6 2.467401E+00 1.319596E-07 63
lobatto i3-6 2.467401E+00 1.015241E-10 63
davint square 1.600000E+01 0.000000E+00 0
quadpack_tests : quad. tol = 1.5700924586837750593933823719638E-0015
1 abnormal return from dqag
dqag-1 1.154701E+00 5.227969E-17 5985
1 abnormal return from dqag
dqag-2 1.154701E+00 9.018180E-17 8379
1 abnormal return from dqag
dqag-3 1.154701E+00 1.771697E-17 12369
1 abnormal return from dqag
dqag-4 1.154701E+00 5.278726E-17 16359
1 abnormal return from dqag
dqag-5 1.154701E+00 3.806301E-18 20349
1 abnormal return from dqagi
dqagi 3.079571E+00 3.434551E-07 2985 FAILED
dqagp 1.000000E+00 3.253688E+00 63 FAILED
dqags 2.000000E+00 5.779070E-18 1323
1 abnormal return from dqawc
dqawc -6.284617E+02 1.939811E-05 6015 FAILED
7 abnormal return from dqawf
dqawf 1.422564E+00 1.201838E-05 48850 FAILED
1 abnormal return from dqawo
dqawo -1.616467E-01 1.599254E-02 3015 FAILED
1 abnormal return from dqaws
dqaws 1.184967E+00 6.499482E-01 3000 FAILED
1 abnormal return from dqng
dqng 1.270724E+00 1.830308E-18 87
1 abnormal return from dqag
dqag C(1)-1 5.904893E-01 3.888394E-21 29985
1 abnormal return from dqag
dqag f1-1 2.500000E-01 7.537140E-20 29985
1 abnormal return from dqag
dqag f2-1 2.106573E-01 6.413316E-19 29985
1 abnormal return from dqag
dqag f3-1 1.905239E+00 2.503727E-17 29985
1 abnormal return from dqag
dqag f4-1 5.140419E-01 1.308953E-18 29985
1 abnormal return from dqag
dqag i2-1 8.435118E-01 6.104299E-18 29985
1 abnormal return from dqag
dqag i3-1 2.467401E+00 1.145248E-19 29985
1 abnormal return from dqag
dqag C(1)-2 5.904893E-01 1.717091E-18 41979
1 abnormal return from dqag
dqag f1-2 2.500000E-01 3.142121E-19 41979
1 abnormal return from dqag
dqag f2-2 2.106573E-01 7.630082E-19 41979
1 abnormal return from dqag
dqag f3-2 1.905239E+00 2.146826E-17 41979
1 abnormal return from dqag
dqag f4-2 5.140419E-01 1.933207E-18 41979
1 abnormal return from dqag
dqag i2-2 8.435118E-01 5.953484E-18 41979
1 abnormal return from dqag
dqag i3-2 2.467401E+00 7.829301E-19 41979
1 abnormal return from dqag
dqag C(1)-3 5.904893E-01 5.833722E-19 61969
1 abnormal return from dqag
dqag f1-3 2.500000E-01 1.501668E-19 61969
1 abnormal return from dqag
dqag f2-3 2.106573E-01 3.572056E-19 61969
1 abnormal return from dqag
dqag f3-3 1.905239E+00 2.612518E-17 61969
1 abnormal return from dqag
dqag f4-3 5.140419E-01 3.368674E-18 61969
1 abnormal return from dqag
dqag i2-3 8.435118E-01 6.433859E-18 61969
1 abnormal return from dqag
dqag i3-3 2.467401E+00 5.731918E-19 61969
1 abnormal return from dqag
dqag C(1)-4 5.904893E-01 1.204052E-18 81959
1 abnormal return from dqag
dqag f1-4 2.500000E-01 1.637829E-20 81959
1 abnormal return from dqag
dqag f2-4 2.106573E-01 4.474537E-19 81959
1 abnormal return from dqag
dqag f3-4 1.905239E+00 2.804307E-17 81959
1 abnormal return from dqag
dqag f4-4 5.140419E-01 1.598495E-18 81959
1 abnormal return from dqag
dqag i2-4 8.435118E-01 5.283390E-18 81959
1 abnormal return from dqag
dqag i3-4 2.467401E+00 5.742480E-19 81959
1 abnormal return from dqag
dqag C(1)-5 5.904893E-01 1.242315E-18 101949
1 abnormal return from dqag
dqag f1-5 2.500000E-01 6.336580E-20 101949
1 abnormal return from dqag
dqag f2-5 2.106573E-01 4.832431E-19 101949
1 abnormal return from dqag
dqag f3-5 1.905239E+00 2.317711E-17 101949
1 abnormal return from dqag
dqag f4-5 5.140419E-01 2.357995E-18 101949
1 abnormal return from dqag
dqag i2-5 8.435118E-01 5.587286E-18 101949
1 abnormal return from dqag
dqag i3-5 2.467401E+00 7.423489E-19 101949
1 abnormal return from dqng
dqng C(1)-6 5.904893E-01 1.146231E-17 87
dquad C(1)-6 5.904893E-01 1.417488E-17 31
dgauss8 C(1)-6 5.904893E-01 1.030343E-17 31
simpson C(1)-6 5.904893E-01 3.117412E-17 31
lobatto C(1)-6 5.904893E-01 1.045952E-17 31
1 abnormal return from dqng
dqng f1-6 2.500000E-01 7.197586E-20 87
dquad f1-6 2.500000E-01 9.199595E-18 31
dgauss8 f1-6 2.500000E-01 2.412610E-18 31
simpson f1-6 2.500000E-01 1.605058E-17 31
lobatto f1-6 2.500000E-01 1.929508E-18 31
1 abnormal return from dqng
dqng f2-6 2.106573E-01 3.437434E-18 87
dquad f2-6 2.106573E-01 7.876112E-18 31
dgauss8 f2-6 2.106573E-01 6.626995E-19 31
simpson f2-6 2.106573E-01 9.742583E-18 31
lobatto f2-6 2.106573E-01 6.533981E-18 31
1 abnormal return from dqng
dqng f3-6 1.905239E+00 4.730162E-17 87
dquad f3-6 1.905239E+00 4.706427E-17 31
dgauss8 f3-6 1.905239E+00 1.929328E-16 31
simpson f3-6 1.905239E+00 1.063923E-16 31
lobatto f3-6 1.905239E+00 2.708267E-17 31
1 abnormal return from dqng
dqng f4-6 5.140419E-01 6.822315E-18 87
dquad f4-6 5.140419E-01 6.122437E-18 31
dgauss8 f4-6 5.140419E-01 1.397192E-18 31
simpson f4-6 5.140419E-01 2.591403E-17 31
lobatto f4-6 5.140419E-01 8.518830E-18 31
1 abnormal return from dqng
dqng i2-6 8.435118E-01 3.276626E-17 87
dquad i2-6 8.435118E-01 5.113956E-17 31
dgauss8 i2-6 8.435118E-01 5.129981E-17 31
1 abnormal return from dqng
dqng i3-6 2.467401E+00 6.532903E-17 87
dquad i3-6 2.467401E+00 4.128064E-17 3
dgauss8 i3-6 2.467401E+00 2.769334E-17 3
simpson i3-6 2.467401E+00 1.236958E-18 3
lobatto i3-6 2.467401E+00 8.233701E-17 3
davint square 1.600000E+01 0.000000E+00 0
In dqk51
, the last weight value for the 51-point rule is given as:
0.061580818067832935078759824240066
The last decimal point isn't right. If you compute at a higher resolution, you get:
0.06158081806783293507875982424006455319043693690314
So, for the 33 digit value, it should be:
0.061580818067832935078759824240065
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.