Comments (5)
That's certainly a good question!
I'm really happy to see more work on pure rust linear algebra algorithms. Rulinalg has been rather dormant for some time now, so it's good to see things are happening in the ecosystem.
As for making use of each other's effort, and assuming the continued co-existence of the two libraries, I'm sure we can learn a lot from each other. Beyond that, did you have anything particular in mind?
from rulinalg.
Both projects could benefit from each other, like GCC and LLVM do, but differents projects have different objectives and differents leaderships.
As for myself, I think optimized linear algebra is so huge and complex that a better, faster, stronger, and unified project would be a awesome standard reference for the Rust ecosystem.
from rulinalg.
Beyond that, did you have anything particular in mind?
I basically stumbled upon the announcement and thought "wait a second, lots of these have open issues on rulinalg, maybe there is a chance for symbiosis here". 😉
from rulinalg.
I have only had time to loosely follow what has been happening with nalgebra but I agree that it is good to see things moving in the ecosystem.
Unfortunately I just haven't found the time to pick up my own slack and get things moving with rulinalg again. I would be more than happy to see if there is a way we can work together towards some greater good. I am also a little unsure about exactly how this relationship would work - especially given the lack of activity on my end. But I'm very open to any ideas about how we could make a meaningful proposal.
from rulinalg.
FYI:
Implementing matrix decompositions (Cholesky, LQ, sym eigen)
as differentiable operators: https://arxiv.org/abs/1710.08717
Abstract:
Development systems for deep learning, such as Theano, Torch, TensorFlow, or MXNet, are easy-to-use tools for creating complex neural network models. Since gradient computations are automatically baked in, and execution is mapped to high performance hardware, these models can be trained end-to-end on large amounts of data. However, it is currently not easy to implement many basic machine learning primitives in these systems (such as Gaussian processes, least squares estimation, principal components analysis, Kalman smoothing), mainly because they lack efficient support of linear algebra primitives as differentiable operators. We detail how a number of matrix decompositions (Cholesky, LQ, symmetric eigen) can be implemented as differentiable operators. We have implemented these primitives in MXNet, running on CPU and GPU in single and double precision. We sketch use cases of these new operators, learning Gaussian process and Bayesian linear regression models. Our implementation is based on BLAS/LAPACK APIs, for which highly tuned implementations are available on all major CPUs and GPUs.
from rulinalg.
Related Issues (20)
- (feature?) More flexible inner products HOT 2
- Make `Matrix::from_fn` row-major
- Using assert_*_equal macros in all tests HOT 1
- SVD goes in an infinite loop for certain matrices HOT 2
- Matrix debug info is incorrect on docs homepage? HOT 2
- Computation of numerically stable matrix operations HOT 3
- Add serde support HOT 1
- Eigenvalues goes into infinite loop for certain matrices HOT 8
- Document that Cholesky only uses the lower triangular part HOT 1
- Variance and mean could be calculated in a better way HOT 1
- SVD algorithm will segfault if matrix has 0 rows or 0 columns
- 'Matrix row counts not equal.' should give matrix dimensions
- Multidimensional tensors
- Hosted documentation out-of-date
- I want to help HOT 4
- Right-multiplication by permutation matrix is inconsistent with representation
- Matrix Operations on Complex Numbers
- API soundness issue in `raw_slice` and `raw_slice_mut` HOT 1
- [Question] Will sparse matrices be supported?
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 rulinalg.