Math::NIntegrate — 04-Fully-symmetric-rules-implementation

  • Reading the section "MultidimensionalRule" from the advanced documentation.

  • Finding the articles by Espelid, Genz.

  • Finding the corresponding FORTRAN 77 code.

  • Programming D07HRE and D09HRE to Raku by AI-agent Codex using "GPT-5.6-Terra".

  • Programming method integrate and disliking the implementation.

    • Using Codex tests and making 2D test on my own.

    • That implementation did not figure out the computation of the largest-error axis.

  • Reading the code and coming with related code outline / pseudocode.

  • Raku implementation of the pseudocode by Codex with "GPT-6.0-Sol".

  • Testing with region integration worked.

  • But with "GlobalAdaptive" the results were not good.

    • One reason is that the 7-generator rule (D07HRE) is not that robust.

      • So switched to 9-generator rule by default.

    • Another reason is that the largest-error axis was not passed/assigned after the rule application computation.

  • Currently, works very well.

  • Tested both numerically and visually.

    • Used a lot the singular integral nintegrate({1 / ($^x + $y).sqrt}, <x 0 1>, <y 0 1>)

Math::NIntegrate v0.0.11

Raku package for numerical integration.

Authors

  • Anton Antonov

License

Artistic-2.0

Dependencies

Data::TransformersHash::Merge:ver<2.0.0>:api<2>LeftistHeapMath::Polynomial::Chebyshev

Test Dependencies

Provides

  • Math::NIntegrate
  • Math::NIntegrate::Builder
  • Math::NIntegrate::Codes
  • Math::NIntegrate::NumericalFunction
  • Math::NIntegrate::Processing::Actions::MethodSpec
  • Math::NIntegrate::Processing::Grammar
  • Math::NIntegrate::Region
  • Math::NIntegrate::Rule
  • Math::NIntegrate::Rule::Cartesian
  • Math::NIntegrate::Rule::ClenshawCurtis
  • Math::NIntegrate::Rule::DoubleExponential
  • Math::NIntegrate::Rule::GaussKronrod
  • Math::NIntegrate::Rule::General
  • Math::NIntegrate::Rule::MonteCarlo
  • Math::NIntegrate::Rule::MultiDimensional
  • Math::NIntegrate::Rule::NewtonCotes
  • Math::NIntegrate::Rule::Trapezoidal
  • Math::NIntegrate::Spec
  • Math::NIntegrate::Strategy
  • Math::NIntegrate::Strategy::AdaptiveMonteCarlo
  • Math::NIntegrate::Strategy::AdaptiveQuasiMonteCarlo
  • Math::NIntegrate::Strategy::Decorator
  • Math::NIntegrate::Strategy::DoubleExponential
  • Math::NIntegrate::Strategy::ErrorHandlish
  • Math::NIntegrate::Strategy::GlobalAdaptive
  • Math::NIntegrate::Strategy::LocalAdaptive
  • Math::NIntegrate::Strategy::MonteCarlo
  • Math::NIntegrate::Strategy::QuasiMonteCarlo
  • Math::NIntegrate::Strategy::Saturating
  • Math::NIntegrate::Strategy::Trapezoidal
  • Math::NIntegrate::Strategy::UnitCubeRescaling
  • Math::NIntegrate::Utilities
  • Math::NIntegrate::VariableTransformer
  • Math::NIntegrate::VariableTransformer::Affine
  • Math::NIntegrate::VariableTransformer::Composite
  • Math::NIntegrate::VariableTransformer::DoubleExponential
  • Math::NIntegrate::VariableTransformer::IMT
  • Math::NIntegrate::VariableTransformer::Infinite
  • Math::NIntegrate::VariableTransformer::Reverse

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.