-
Notifications
You must be signed in to change notification settings - Fork 691
Contribution
We need your help! Here's how you can contribute:
- Take a look at the Issues page, especially those with the #helpwanted tag. Implement any of these.
- File bugs or feature requests. Asking questions on the mailing list is great too. If you're confused by something, it means we need to add a new feature or document an existing one better.
- Look at the Matlab function reference and implement functions that seem to be missing. (Unit tests, please!)
- Help improve the Quickstart or anything else on the wiki.
- Contribute examples that use Breeze to the Breeze Examples repository
- Tackle a bigger project! Want to make a GPU vector library? Want to rework the visualization component? We'd love to have you join us!
Students with strong backgrounds / interests in statistics and natural language processing are encouraged to submit improvements to breeze. This list will form the basis of our participation in the next Google Summer of Code, so taking on a few of these in the meantime is an excellent way to prepare to participate.
- Currently, log-domain arithmetic is used at key points in an ad-hoc way to preserve sufficient precision when working with very small probabilities. You would implement a log-domain number type and adapt the ad-hoc uses of log-domain arithmetic in the library to use it.
- Do the same with compensated floating-point arithmetic.
- Fix Edward Kmett's implementation of automatic differentiation in Scala, referring to his Haskell implementation of same, and integrate it into Breeze in a way that composes well with Breeze's existing functionality.
- Add support for Lévy alpha-stable random variables to Breeze. This matlab code is available to be adapted.
- Implement the Dempster-Shafer Theory / Transferable belief model representation of uncertainty, based on Smets' matlab code, but in a way idiomatic to Breeze. See also improvements to the model by Chuanhai Liu.
- Implement the improvements from Streams in Linear Algebra here.
- Improve the plotting library, possibly redesigning the API along the lines of ggplot2.
- Implement a GPU-based linear algebra layer for Breeze based on JavaCL.
- Unify the machine learning classification package, using R's formula syntax as the basis for the API.
You are also welcome to come up with your own project, so long as it fits with Breeze's mission.
Contact difranco or dlwh on github if you're interested and we'll discuss further.
(c) David Hall, 2009 -
Portions (c) Daniel Ramage, 2009 - 2011
- Jason Zaugg (@retronym)
- Alexander Lehmann (@afwlehmann)
- Jonathan Merritt (@lancelet)
- Keith Stevens (@fozziethebeat)
- Jason Baldridge (@jasonbaldridge)
- Timothy Hunter (@tjhunter)
- Dave DeCaprio (@DaveDeCaprio)
- Daniel Duckworth (@duckworthd)
- Eric Christiansen (@emchristiansen)
- Marc Millstone (@splittingfield)
- Mérő László (@laci37)
- Alexey Noskov (@alno)
- Devon Bryant (@devonbryant)
- Kentaroh Takagaki (@ktakagaki)
- Sam Halliday (@fommil)
- Chris Stucchio (@stucchio)
- Xiangrui Meng (@mengxr)
and others (contact David Hall if you've contributed code and aren't listed).
Breeze is a numerical processing library for Scala. http://www.scalanlp.org