Frage

Ich brauche einen Varianz-Kovarianzmatrix in Ruby und Vektor-Matrix-Multiplikation durch invers. Welche numerische Ruby-Bibliothek / Gem soll ich verwenden?

War es hilfreich?

Lösung

Versuchen Sie, die 'Matrix' Bibliothek:

http://www.ruby-doc.org/stdlib/libdoc/matrix/rdoc/index.html

Andere Tipps

Eine numerisch stabile Möglichkeit als direkte Inversion ist eine mit dem Paket Cholesky-Zerlegung zu verwenden Sie finden hier :

require 'Cholesky.rb'
require 'pp'
# m is the covariance matrix you want to invert (it is positive semidefinite)
l = m.cholesky
li = l.inverse
lit = li.transpose
# lit*li is approximately the inverse and the next line shows this
pp lit*li*m

Besser als l Invertieren wird das Verfahren in dem Artikel Wikpedia oben beschrieben verknüpft verwenden.

Wenn Ihr Problem numerisch zu instabil ist dann die Einzelwertzerlegung , aber ich don ‚t haben Code für sie.

Wenn Sie Code kompilieren können, verwenden rubin GSL

gem install gsl

Das Inverse kann mit LU-Modul erhalten werden,

inverse=GSL::Linalg::LU.invert(matrix)

Es gibt NMatrix . Es gibt Unterstützung für verschiedene Operationen, darunter auch einige aus BLAS und LAPACK (von ATLAS verwendet wird).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top