Numerical Algorithms?

There’s some “hints” in C++ about numerical support, e.g. std::legendre.

Is this in the works? The reason I ask is that I’ve been working on a c++ 20 library/ set of classes that provides the functionality of the Gnu scientific library with an MIT license. And a C++ api of course.

I’ve been doing this for my own use.

Anyways, this is too big a project to just “add” to the standard but given that c++ is well suited for this and
It would be nice to have a standardized library for numerical algorithms….

Any thought on this? It seems like there are some hints of this as I mentioned.

Thanks
Rick Frank

1 Like

Hi Rick Frank!

I might not be the one who is qualified to give suggestion to your particular case but since no one has replied…

I am glad you have something you wish to add to the beman library and C++ standard library! I agree C++ std maybe suited for some math library support as midpoint and legendre has been part of the language for a while.

Are you familiar that basic linear algebra library is going to be part of C++26? I am not sure if that’s what you are looking for. This CPPCON talk by Mark Hoemmen provides a good overview for it.

Otherwise, for a library to be adopted into the beman project, it needs to have a paper, search around and see if there is an prior paper that matches what you want to bring in, otherwise you will need to have a paper attached to your contribution.

To help you gather more attention @leads .

Thanks. I’ll check it out. Linear algebra is probably the most important ( for graphics and solving systems of equations) thin* to start with…

1 Like

Hope this helped.

Beman hosts a weekly sync every Monday at 9AM EST, you can check out this thread Weekly Beman contributor sync on how to join. That would be the best place to reach active members and ask questions.

Otherwise, feel free to post any updates in this thread.

Hi @RickF

Sorry for the slow response, but are you aware of the special math functions that went into c++17? https://en.cppreference.com/w/cpp/numeric/special_functions

Also there’s the venerable boost.math library – there’s a whole group of people interested in contributions there: https://www.boost.org/doc/libs/1_87_0/libs/math/doc/html/index.htmld

Anyway, the Numerics study group for the standard is interested in expanding the standard library – and there’s a few proposals, including statistical functions that would be good material for a Beman project.

Hi
Yes, I’m aware of those.

that’s what led me to wondering if there was or is a roadmap to do more and what kinds of thing would be considered part of the standard…e.g. Gaussian Quadrature and variants thereof….maybe migrating boost.math towards the Standard? ( linalg is a good place to start for sure).

Thanks!

Rick Frank
Dominion Software, Inc.
825 Beacon Street
Newton, MA 02459
Medical, Scientific, and Industrial Software

I’m not sure there’s a roadmap. Study group 6 is the group that’s shepherding numeric types and algorithms for the standard. You can see all the papers under consideration with this github query:

w.r.t. linear algebra, the first set of capabilities are voted into c++26 – you can see the standard wording here and the paper for it below:

And there’s some follow-on discussion papers for linear-algebra

Hope that’s helpful.