Using Ruby/GSL¶ ↑
Installation¶ ↑
See here.
Load the library¶ ↑
Put at the head of your scripts,
require 'rubygems' # if installed via RubyGems require 'gsl'
Naming conventions, C Structs and Ruby Classes¶ ↑
Most of the GSL data types, functions or constants are named as
gsl_xxx
or GSL_XXX
. In Ruby/GSL, the prefix
gsl_
is replaced by the module identifier GSL::
,
where GSL
is the top level module of Ruby/GSL, and the Ruby
classes are defined for each of the GSL C structs under the
GSL
module. According to the Ruby manner, the name of each
class begins with a capital. For example,
-
Struct
gsl_vector
—> Ruby classGSL::Vector
-
Function call as
v = gsl_vector_alloc(5);
—> Class methodv = GSL::Vector.alloc(5)
-
Function call as
gsl_vector_set(v, i, 1.5);
—> Methodv.set(i, 1.5)
orv[i] = 1.5
-
-
Constant
GSL_SUCCESS
—> Ruby module constantGSL::SUCCESS
-
Function
gsl_sf_bessel_J0(x)
—>-
Submodule
GSL::Sf
-
Module function
GSL::Sf::bessel_J0(x)
-
GSL::Sf::Bessel::J0(x)
is also OK, whereJ0(x)
is a module function of the sub-sub-moduleGSL::Sf::Bessel
.
-
-
-
Function
gsl_linalg_LU_decomp
—>-
Module
GSL::Linalg::LU
-
Singleton method
GSL::Linalg::LU_decomp
-
Submodule
GSL::Linalg::LU
-
Singleton method
GSL::Linalg::LU.decomp
-
-
-
Method
GSL::Matrix#LU_decomp
-
Examples¶ ↑
See the directories “examples/” and “tests/”.
Some of the examples use the graph
utility to show the
results. The graph
utility is included in the GNU plotutils
package. Windows-cygwin binaries of GNU plotutils
and related
packages are available from here.
Modules and Classes¶ ↑
The following is the list of Ruby/GSL modules and classes, <Name> (<Module or Class>)
-
GSL (Module)
-
Complex (Class)
-
Poly (Class)
-
Workspace (Class)
-
DividedDifferenceRepresentation (Class)
-
Taylor (Class)
-
-
Sf (Module)
-
Result (Class)
-
-
Block (Class)
-
Int (Class)
-
Byte (Class)
-
Index < Permutation
-
-
Vector (Class)
-
View < Vector
-
Complex (Class)
-
View < Vector::Complex
-
-
-
Matrix (Class)
-
View < Matrix (Class)
-
Complex (Class)
-
View < Matrix::Complex
-
-
-
Permutation (Class)
-
Combination (Class)
-
Linalg (Module)
-
LU (Module)
-
QR (Module)
-
QRPT (Module)
-
LQ (Module)
-
LQPT (Module)
-
SV (Module)
-
Cholesky (Module)
-
Symmtd (Module)
-
HH (Module)
-
-
Eigen (Module)
-
EigenValues < Vector
-
EigenVectors < Matrix
-
Symm (Module)
-
Workspace (Class)
-
-
Symmv (Module)
-
Workspace (Class)
-
-
Unsymm (Module)
-
Workspace (Class)
-
-
Unsymmv (Module)
-
Workspace (Class)
-
-
Herm (Module)
-
Workspace (Class)
-
-
Hermv (Module)
-
Workspace (Class)
-
-
-
FFT (Module)
-
ComplexWavetable (Class)
-
ComplexWorkspace (Class)
-
HalfComplexWavetable (Class)
-
RealWavetable (Class)
-
RealWorkspace (Class)
-
-
Wavelet (Class)
-
Wavelet2d < Wavelet
-
-
Function (Class)
-
Function_fdf (Class)
-
Integration (Module)
-
Workspace
-
QAWS_Table
-
QAWO_Table
-
-
Rng (Class)
-
QRng (Class)
-
Ran (Module)
-
Stats (Module)
-
Histogram (Class)
-
Integral < Histogram
-
Pdf (Class)
-
-
Histogram2d (Class)
-
N-tuples
-
SelectFn (Class)
-
ValueFn (Class)
-
-
Monte (Module)
-
Function (Class)
-
Plain (Class)
-
Miser (Class)
-
Vegas (Class)
-
-
Siman (Module)
-
Efunc (Class)
-
Step (Class)
-
Metric (Class)
-
Print (Class)
-
Params (Class)
-
Solver (Class)
-
-
Odeiv (Module)
-
Control (Class)
-
Evolve (Class)
-
System (Class)
-
Solver (Class)
-
-
Interp (Class)
-
Accel (Class)
-
-
Spline (Class)
-
Diff (Module)
-
Deriv (Module)
-
Cheb (Class)
-
Sum (Module)
-
Levin_u (Class)
-
Levin_utrunc (Class)
-
-
Dht (Class)
-
Root (Module)
-
Solver (Class)
-
FdfSolver (Class)
-
-
Min(Module)
-
FMinimizer (Class)
-
-
MultiRoot (Module)
-
Function (Class)
-
FSolver (Class)
-
Function_fdf (Class)
-
FdfSolver (Class)
-
-
MultiMin (Module)
-
Function (Class)
-
FMinimizer (Class)
-
Function_fdf (Class)
-
FdfMinimizer (Class)
-
-
Fit (Module)
-
MultiFit (Module)
-
Workspace (Class)
-
Solver (Class)
-
Function_fdf (Class)
-
FdfSolver (Class)
-
-
CONST (Module)
-
MKSA (Module)
-
CGSM (Module)
-
NUM (Module)
-
-