-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Pure Java support for L-BFGS-B ? #811
Comments
Hi Berry, Thanks for reaching out. All BFGS family algorithms (BFGS, L-BFGS, and L-BFGS-B) are implemented in pure Java. You can safely add |
Dear @kklioss, many thanks for your quick reply!
where all the LBFGSB* tests fail due to no OpenBLAS being available, see stack trace below. Did I understand correctly from your reply that I should be able to run/configure the code in a way that will allow me to not have OpenBLAS installed/coupled? Full stack trace for
|
Sorry, my bad. L-BFGS-B does need to compute matrix inverse on the fly. So, it depends on LAPACK. However, Smile V1 has pure Java implementation on matrix computation including matrix inverse. You will need to create a package that combine V1 |
Thanks @kklioss, I'll have a look, many thanks for your quick feedback! |
Dear Haifeng Li,
thank you for providing this great repository of code! We are working in the Gaia Data Processing and Analyses Consortium (DPAC) of the European Space Agency (ESA) space mission Gaia, reducing data of over a billion sources to catalog our galaxy for all kind of interesting objects (https://www.esa.int/Science_Exploration/Space_Science/Gaia).
Within the part of the consortium we work in, we are only allowed to use pure Java (without extensions like BLAS). In the analyses of astrometric data (one-dimensional time-series of positional measurements) we would like to make use of L-BFGS-B as our go-to method for non-linear fitting with parameter constraints, as it seems the superior method to use in our (non-production) Python code.
So far we have not found a good Java library for this other than yours. However, running the (latest) unit test (smile.math/BGGSTest) we see that only testLBFGS, and testBFGS pass without the need of installing BLAS. Since installing BLAS is not possible in our official run-environment (and over which we have no control), would it be possible to implement the L-BFGS-B functionality in pure Java?
Or else, would you know if it already exists?
Apologies for asking about a functionality that in principle already exists in your code, but which unfortunately we cannot make use of in this context.
Best regards,
Berry Holl on behalf of several of my colleagues working on detecting exoplanets in Gaia data
The text was updated successfully, but these errors were encountered: