Comments (2)
Dear Jim
Thanks for all of this. We are currently using the C interfaces we developed last year as building blocks onwards into python and julia (not R, but that is possible, it simply doesn't cross our horizon and we have no experience at all). There is a caveat, namely that Lancelot is the one package from Galahad that we have not translated as yet, partially because we didn't expect much demand, and also because the partially-separable interface is significantly more complicated than the more-traditional function-gradient-(maybe )Hessian one that most users expect.
One issue though, for machine learning I might be wrong but I thought that each of the sub functions in the sum involved all parameters, in which case the individual Hessians are dense. This doesn't fit well with partial separability, where the underlying assumption is that the Hessians are sparse, or at least structured low rank. Fine if there aren't too many parameters, but difficult/impossible for machine learning with millions of parameters. As I said, maybe this is just a misunderstanding on my part.
The python/julia interfaces are taking all of our time at present, but we will keep this in mind once we have some free time ... and yes, finding interested, knowledgeable collaborators is always helpful.
Nick
from galahad.
Hi Nick!
It is great to hear about the work towards a Julia interface, which would be more accessible to R-users. R-contributors could develop explicit interfaces using the existing Julia--R interfaces [link to ongoing StackOverflow discussion with leading contributors].
Regarding partial separability:
I agree that statistical uses are negligible compared to the FEM applications of partial separability. I found only 38 statistical citations that are concerned with Hessians (Fisher information matrix) and mention partial separability. Some of these papers mention functional-MRI statistics (which may be related to FEM).
Other statistical applications include spline-based density estimation, following J. W. Schmidt.
Validation and experimentation
For dense problems (regardless of additivity), your code would be useful as a benchmark for evaluating other iterative-methods; such validation of statistical software is important for FDA and EMA submissions.
A second interest is to use any additivity-facilities for experimentation with, e.g., stochastic [quasi-]gradient methods for interesting problems (rather than impressing people with the number of variables or the size of the data). A Julia-laboratory (developed with an eye towards Turing and JuMP) would be very useful to researchers in machine learning.
Thanks
Above, I mentioned the spatial-median problem. It is fitting to note that the spatial median problem is related to the Fermat--Weber location problems, to which the late Professor Andrew R. Conn made many contributions (besides partial separbility, Lancelot, Galahad, etc.). I am very grateful for your team's work.
from galahad.
Related Issues (20)
- Failing tests on Windows
- Test the Julia interface GALAHAD.jl with CI
- Test GALAHAD with libHSL
- ILP64 BLAS and LAPACK librairies of NVIDIA don't have the suffix _64 HOT 1
- scu_initialize is not implemented in the C interface of SCU HOT 10
- all builds now fail as blas/lapack are now modern (.f90) rather than traditional (*.f)
- [documentation] Explain how we can compile static libraries with Meson
- Improve tests for SLLS
- Register GALAHAD.jl HOT 1
- Compile GALAHAD_jll.jl with HSL_jll.jl
- GALAHAD is unable to use PASTIX / SPM HOT 3
- Name of the libraries when GALAHAD is compiled with 64-bit integer HOT 3
- TagBot trigger issue HOT 2
- [CI] Install C Regex Library on Windows HOT 4
- [CI] Check modules failing HOT 11
- [CI] Cirrus CI Julia install fails
- MKL-Pardiso with 64-bit integer
- Clong has been replaced by int64_t in the HSL headers HOT 22
- added gkregex for Windows issue HOT 19
- Python solve routines should allow keyword arguments HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from galahad.