6
$\begingroup$

I'm looking to use the finite element method with B-splines as my function basis. Which C/C++ libraries have good B-spline support?

Specifically, I'm looking for an implementation of a stable algorithm, even if it's slow. I plan to precompute a lot of the inner products I need and store them in a file somewhere if the b-spline calculation gets slow enough to be bothersome.

$\endgroup$
  • 1
    $\begingroup$ I'm pointing this question to Nathan Collier, who has done some work using the fundamental PETSc data structures to implement b-splines as a basis in PETSc. Here's an example. Instructions for how to run the code (in a PETSc 3.2-p5 install). This is early work, so there may be some rough edges. $\endgroup$ – Aron Ahmadia Jan 14 '12 at 5:52
5
$\begingroup$

The Gnu Scientific Library (GSL) has an implementation of B-splines, and the documentation can be found here. According to the documentation, GSL uses De Boor's algorithm, which is numerically stable.

$\endgroup$
1
$\begingroup$

Also take a look at John Burkhardt's libraries at http://people.sc.fsu.edu/~jburkardt/ His code is LGPL licensed, as opposed to the GPL used by the Gnu Scientific Library.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.