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

Use Eigen as alternative to LAPACK #333

Merged
merged 13 commits into from
May 15, 2016
Merged

Use Eigen as alternative to LAPACK #333

merged 13 commits into from
May 15, 2016

Conversation

speth
Copy link
Member

@speth speth commented Apr 14, 2016

This PR eliminates the need to keep a (incomplete, buggy) copy of BLAS and LAPACK with Cantera, along with other fortran and f2c-converted source.

These versions of BLAS and LAPACK were not thread-safe, and they are also not optimized. Eigen is both thread safe and quite fast. The only feature needed by Cantera that is not provided by Eigen is a solver for banded matrices, for which we can currently utilize the solver provided with Sundials (although hopefully there will be a banded solver in Eigen at some point).

If users have a particularly good BLAS/LAPACK implementation, that can of course still be used (with the exception of the complicated and still unresolved incompatibility with Matlab).

This also opens the door for using Eigen more extensively throughout Cantera, both to improve speed and to improve readability by writing vector/matrix expressions more naturally.

@speth speth merged commit bbb5eed into Cantera:master May 15, 2016
@speth speth deleted the eigen branch May 15, 2016 02:30
@haowu80s
Copy link

Hi speth,
Is there any plan of using the sparse matrix in Eigen in replacement of the StoichManager in near future?

@speth
Copy link
Member Author

speth commented Aug 12, 2016

I've toyed around with the idea, but I think that it's pretty far down on my priority list.

@speth speth mentioned this pull request Nov 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants