Home > euclid

euclid

Euclid is a project mainly written in Ruby, based on the Apache-2.0 license.

Extensions and Additions to Ruby's Math Facilties

= Euclid

== DESCRIPTION

Euclid is a set of extensions and additions to Ruby's math facilities.

== SYNOPSIS

=== Math Functions

Euclid include a set of modules that extend Math.

=== Matrix and Vector

Euclid includes Matrix and Vector extensions by Cosmin Bonchis, which were done for the Google Summer of Code 2007 project for Ruby Central Inc.

Unfortunately there were issues with extending Ruby's built-in classes so Euclid provides compatible substitutes.

The library includes LU and QR (Householder, Givens, Gram Schmidt, Hessenberg) decompositions, bidiagonalization, eigenvalue and eigenvector calculations.

This code can also be found on RubyForge at: http://rubyforge.org/project/matrix

=== Interval

Euclid provides a true Interval class, which is very similar to the Range class, but provides front sentinal inclusion and exclusion.

=== Infinity

Euclid also provides an Infinity class which gracefully handles the normal numeric operations. It also supports aleph degress of infinity (though not 100% as of yet.)

== ADOPTION

This project is up for adoption to anyone who finds it useful and would like to take it to the next level.

== COPYRIGHT

Copyright (c) 2009 Thomas Sawyer

Distribute under the same terms as Ruby.