Skip to content

Instantly share code, notes, and snippets.

@v0dro
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save v0dro/309f996daeaa83c92ed3 to your computer and use it in GitHub Desktop.
Save v0dro/309f996daeaa83c92ed3 to your computer and use it in GitHub Desktop.
OSS Contributions
NMatrix: an efficient storage and linear algebra library for Ruby
HB input and fortran format parser:
Made a new class for parsing matrices stored in the Harwell Boeing file format
and loading the data as an nmatrix. Also wrote a separate class for parsing FORTRAN
number formats, which tells the data type and storage of numbers in a text file.
Link:
https://github.com/SciRuby/nmatrix/commit/b4d3c25aa8d32f9bd20b6c0ac4b10b3f6933f2c4
LAPACK free matrix inverse, #round, Rational division fix:
Hand-implemented CLAPACK-free implementation of matrix-inversion. Also implemented a
new method for rounding elements of a numerical matrix. Fixes for an error in rational
number division which allowed a negative number to exist in the denominator of a Rational
number, thus affecting subsequent computations.
Link:
https://github.com/SciRuby/nmatrix/commit/c90c712991a0469a4b4630fc9a4af4bae69d184c
#solve:
Function for solving sets of linear equations in NMatrix.
Link:
https://github.com/SciRuby/nmatrix/commit/4241d241ca7744ca2ca5e090782588581160d42b\
#factorize_lu:
Amends to LU factorization function to optionally return the pivot matrix.
Link:
https://github.com/SciRuby/nmatrix/commit/29fd499f01bff3f0e61f321c69781e2a04cc27bb
#hessenberg
Adds a function to calculate the hessenberg form of a square matrix.
Link:
https://github.com/SciRuby/nmatrix/commit/6a006af0a3955bd3485cc11798bebed8e626c3bd
Removed 1.9.2 support
Supporting Ruby 1.9.2 was causing a lot of hurdles in the C code of nmatrix. Support
for ruby 1.9.2 had stopped and it made sense to let nmatrix be 1.9.3+ compatible.
Link:
https://github.com/SciRuby/nmatrix/commit/61c894b201cca9b21ee820c309a3584ab8bf3252
#index
Function similar to Array#index
Link:
https://github.com/SciRuby/nmatrix/commit/2920ae696174abb1a2b62249ab0a040240f69be4
#diagonal:
Retreive the diagonal of an nmatrix.
Link:
https://github.com/SciRuby/nmatrix/commit/86f62db6d18fdc4b0b6170470e797b6213b5aec1
-= for complex:
The C++ implementation of complex numbers did not have the -= operator so I added it.
Link:
https://github.com/SciRuby/nmatrix/commit/1d4eb9ab78e7d649a0492561d1b9935a5dd567ea
#cov:
Calculate the variance-covariance matrix of a 2D nmatrix.
Link:
https://github.com/SciRuby/nmatrix/commit/f72e44accd1d49d9b40456029504cd4a65c7e248
#corr:
Calculate correlation co-efficients.
Link:
https://github.com/SciRuby/nmatrix/commit/1c9a882c40cab2b54f2c5b0cca97f10819a1f3d9
#round:
Bug Fixes to #round.
Link:
https://github.com/SciRuby/nmatrix/commit/1579c3f772279633ab97f42374909b2ac73486dc
C contribs:
Style guide for writing C/C++ code in nmatrix.
Link:
https://github.com/SciRuby/nmatrix/commit/24583d227b0d27efcee933867fcc4a83b38ed296
C C++ style guide:
More guidelines for contributing C/C++ code.
Link:
https://github.com/SciRuby/nmatrix/commit/58d3a003bc2c34780532a68ba548b0ea92012ac7
HB documentation:
Detailed documentation for the above HB and Fortran Format functionality.
Link:
https://github.com/SciRuby/nmatrix/commit/3fc9b360b1233dc24125abf39adcb58650497496
statsample-glm: statsample extension for computing Generalized Linear Models
Implementation of uniform API for GLM and MLE:
Link:
https://github.com/SciRuby/statsample-glm/commit/a6151c4291643818ea9a07d414e31aac3d468735
statsample: suite for advanced and basic statistics in Ruby
Removal of MLE:
https://github.com/v0dro/statsample/commit/ad4d828dfb351e107a55f35bfa9cd48f60e3375c
https://github.com/v0dro/statsample/commit/5827dda7bb278726e2447c10e2d702fca267d6d6
https://github.com/v0dro/statsample/commit/d3ce3377f9a5de86e9294d85cd6a109ca0f693f1
Daru: Data Analysis in RUby
https://github.com/v0dro/daru
Interpolation gem: Numerical interpolation in ruby
https://github.com/v0dro/interpolation
OSEM: Open Source Event Manager (Rails app)
Replaced if-else with case-when
https://github.com/openSUSE/osem/commit/ee3def430ecd5cd8a0d31d0ce6db3f2850d7cc85
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment