-
Notifications
You must be signed in to change notification settings - Fork 125
Future Plan
Liang Wang edited this page Oct 11, 2016
·
34 revisions
Owl aims to be a general OCaml numerical library for scientific computing. The library focuses on the following perspective:
- Dense matrix operations (90% completed)
- Sparse matrix operations (70% completed)
- Advanced mathematical functions (90% completed)
- Advanced statistical functions (70% completed)
- Linear algebra (30% completed)
- Regression functions (30% completed)
- Machine learning (10% completed)
- Basic Plotting functions (20% completed)
As you can see, Owl is still in its infancy phase. I appreciate any comments and look forward to any help from anyone who want to contribute.
There is a list of things (either well-defined or not) in my mind to push the project forward. Bold font marks the task I am currently working on.
- Extensive tests on Dense matrix module to eliminate bugs.
- Complete some missing functions in Sparse matrix module.
- Make Sparse matrix module support "x.{i,j}" to access the elements.
- Re-design Plot module to support more advanced functions such as subplot, multiple lines in one plot, and various types of plots.
- Add consistent error management in all modules.
- Complete all the missing functions in Linalg module for dense matrices.
- Automate the document generation using ocamldoc.
- Make a docker image supporting GUI so Plot module can plot in X window.
- Make Linalg module support sparse matrices.
- Implement more optimisation algorithms in Optimise module: e.g., coordinate descent, proximal gradient, and etc.
- Implement more machine learning algorithms (clustering, deep neural networks, and etc.), may introduce a new separate module in Owl.
- Include a set of approximate algorithms in Owl as a separate module (e.g., approximate k-means, approximate k-nn, and etc.)
- Improve the documentation and write a series of tutorials (posts) on how to use Owl.
- Embed a small probabilistic programming language in Stats module.
- whatever else helpful ...