2011-01-23 10 views
8

Stavo facendo i calcoli matematici con python o ottava a causa della disponibilità di funzioni e librerie davvero carine. Ma recentemente ho guadagnato interesse per il ruby ​​e mi chiedo se c'è un equivalente in Ruby per il numpy, scipy in Python per la programmazione scientifica. In particolare, sto cercando qualcosa che possa disegnare grafici come in matplotlib e fare calcoli matematici, algebrici velocemente come in numpy e scipy.Programmazione scientifica con Ruby

risposta

6

L'algebra lineare è il cuore della maggior parte del calcolo scientifico su larga scala. LAPACK è lo standard di riferimento per le librerie di algebra lineare, scritto per la prima volta in FORTRAN.

C'è una porta per Ruby here. Una volta ottenuto ciò, il resto è incidentale, ma ci sono anche plotting routines in Ruby.

+3

Ho passato un paio d'ore a installarlo e a combattere con le dipendenze fortran legacy, ecco le istruzioni, si spera che risparmi tempo a qualcuno: http://www.quora.com/Installation-Instructions/How -do-I-install-Ruby-linalg-library-on-Mac – alex

3

Ho confrontato e fornito esempi per un numero di different plotting libraries che è possibile utilizzare da Ruby. Spero che questo aiuti con la seconda parte della tua domanda.

+0

grazie chris che è utile. – systemsfault

8

SciRuby sta lavorando su questo. NMatrix e Statsample sono probabilmente le gemme SciRuby più utili per l'algebra lineare e le statistiche, rispettivamente, anche se potresti trovare utile anche: distribution, minimization e integration.

Per quanto riguarda la visualizzazione e il tracciamento, consultare Rubyvis (una porta Ruby di Protovis). Nyaplot sta arrivando anche bene.

Se avete bisogno di qualcosa di più stabile di NMatrix, c'è sempre NArray.

Sono anche sorpreso che nessuno abbia menzionato Ruby/GSL. C'è anche un fork che supporta NMatrix over nel SciRuby github account.

Full disclosure: Sono un amministratore di SciRuby, ma non ne ricavo alcun profitto. =)

+2

Nota: @mohawkjohn (John Woods) ha ricevuto una pacca sulla spalla di Matz stesso per sviluppare l'importantissima libreria 'NMatrix', utilizzando le routine Fortran per la velocità. –

Problemi correlati