Math::GSL(3pm)

๐Ÿ’– Math::GSL โ€” the Perl glow-up for the GNU Scientific Library ๐Ÿ’–

okay bestie, so this is the Math::GSL manual page, and honestly? it's giving "User Contributed Perl Documentation" with main character energy โœจ. If you've ever wanted the whole GNU Scientific Library (GSL) to talk Perl to you instead of C, this is your girl. Periodt. ๐Ÿ‘‘


โœจ NAME โœจ

Math::GSL โ€” a Perl interface to the GNU Scientific Library (GSL) ๐Ÿงš

๐ŸŒธ VERSION ๐ŸŒธ

Version 0.49 ๐Ÿ’…

๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

Here's the vibe, literally copy-paste-able:

use Math::GSL::Matrix;
my $matrix = Math::GSL::Matrix->new(5,5);   # 5x5 zero matrix
# note that columns and rows are zero-based
$matrix->set_col(0, [1..5])                 # set *first* column to 1,2,3,4,5
       ->set_row(2, [5..9]);                # set *third* column to 5,6,7,8,9
my @matrix = $matrix->as_list;              # matrix as Perl list
my $gsl_matrix = $matrix->raw;              # underlying GSL object

use Math::GSL::RNG;
my $rng = Math::GSL::RNG->new;
my @random_numbers = $rng->get(1000);

use Math::GSL::Deriv qw/:all/;
my $function = sub { my $x=shift; sin($x**2) };
my ($status,$val,$err) = gsl_deriv_central($function, 5, 0.01 );

use Math::GSL qw/gsl_version/;
# get a version object for the version of the underlying GSL library,
# which will stringify to a version number
my $gsl_version = gsl_version();

okay so every GSL subsystem gets its own lil module, no cap. The random number generator subsystem? That's Math::GSL::RNG ๐ŸŽฒ. And a ton of these subsystems come with a more Perlish, object-oriented frontend you can actually use, exactly like the example above shows ๐Ÿซถ. The raw GSL object is your backstage pass for the low-level GSL functions โ€” and for the Matrix subsystem specifically, those look like gsl_matrix_*. Every module has its own further documentation covering both the low-level C functions and how to use the more intuitive (but lowkey slightly slower ๐Ÿ˜ญ) object-oriented interface. iykyk.


๐Ÿ‘‘ SUBSYSTEMS ๐Ÿ‘‘

the full roster, alphabetically iconic:

  • Math::GSL::BLAS โ€” Linear Algebra Functions ๐Ÿ”ฅ
  • Math::GSL::BSpline โ€” BSplines โœจ
  • Math::GSL::CBLAS โ€” Linear Algebra Functions ๐Ÿ”ฅ
  • Math::GSL::CDF โ€” Cumulative Distribution Functions ๐Ÿ“Š
  • Math::GSL::Chebyshev โ€” Chebyshev Polynomials ๐ŸŽ€
  • Math::GSL::Combination โ€” Combinatoric Functions ๐ŸŽฒ
  • Math::GSL::Complex โ€” Complex Numbers ๐Ÿ’œ
  • Math::GSL::Const โ€” Various Constants โญ
  • Math::GSL::DHT โ€” Discrete Hankel Transforms ๐ŸŒˆ
  • Math::GSL::Deriv โ€” Numerical Derivative ๐Ÿ“‰
  • Math::GSL::Eigen โ€” Eigenvalues and Eigenvectors ๐Ÿ‘‘
  • Math::GSL::Errno โ€” Error Handling ๐Ÿšจ
  • Math::GSL::FFT โ€” Fast Fourier Transform โšก
  • Math::GSL::Fit โ€” Curve Fitting ๐Ÿ“ˆ
  • Math::GSL::Heapsort โ€” Sorting Heaps ๐Ÿ—‚๏ธ
  • Math::GSL::Histogram โ€” Histograms ๐Ÿ“Š
  • Math::GSL::Histogram2D โ€” 2D Histograms ๐Ÿ“Š
  • Math::GSL::Integration โ€” Numerical Integration โˆซ
  • Math::GSL::Interp โ€” Interpolation ๐Ÿงš
  • Math::GSL::Linalg โ€” Linear Algebra ๐Ÿงฎ
  • Math::GSL::Machine โ€” Machine Specific Information ๐Ÿ’ป
  • Math::GSL::Matrix โ€” NxM Matrices ๐Ÿ”ข
  • Math::GSL::Min โ€” Minimization ๐ŸŽฏ
  • Math::GSL::Monte โ€” Monte Carlo Integrations ๐ŸŽฐ
  • Math::GSL::Multifit โ€” Multivariable Fitting ๐Ÿ“ˆ
  • Math::GSL::Multimin โ€” Multivariable Minimization ๐ŸŽฏ
  • Math::GSL::Multiroots โ€” Muiltvariable Root Finding ๐ŸŒฑ
  • Math::GSL::NTuple โ€” N Tuples ๐Ÿงบ
  • Math::GSL::ODEIV โ€” Ordinary Differential Equation Solvers (Initial Value Problems) ๐ŸŒ€
  • Math::GSL::Permutation โ€” Permutations ๐Ÿ”€
  • Math::GSL::Poly โ€” Polynmials ๐ŸŽ€
  • Math::GSL::PowInt โ€” Integer Power Functions ๐Ÿ’ฅ
  • Math::GSL::QRNG โ€” Quasi-Random Number Generators ๐ŸŽฒ
  • Math::GSL::RNG โ€” Random Number Generators ๐ŸŽฒ
  • Math::GSL::Randist โ€” Random Number Distributions ๐Ÿ“Š
  • Math::GSL::Roots โ€” Root Finding Algorithms ๐ŸŒฑ
  • Math::GSL::Rstat โ€” Running Statistics ๐Ÿƒ
  • Math::GSL::SF โ€” Special Functions ๐ŸŒŸ
  • Math::GSL::Siman โ€” Simulated Annealing ๐Ÿ”ฅ
  • Math::GSL::Sort โ€” Sorting ๐Ÿ—‚๏ธ
  • Math::GSL::SparseMatrix โ€” Sparse Matrices ๐Ÿ•ธ๏ธ
  • Math::GSL::Spline โ€” Splines ๐ŸŽข
  • Math::GSL::Statistics โ€” Statistics Functions ๐Ÿ“ˆ
  • Math::GSL::Sum โ€” Summation โž•
  • Math::GSL::Sys โ€” System utility functions ๐Ÿ› ๏ธ
  • Math::GSL::Vector โ€” N-dimensional Vectors โžก๏ธ
  • Math::GSL::Wavelet โ€” Basic Wavelets ๐ŸŒŠ
  • Math::GSL::Wavelet2D โ€” 2D Wavelets ๐ŸŒŠ

๐Ÿ’… AUTHORS ๐Ÿ’…

Jonathan "Duke" Leto, <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com> ๐Ÿซถ

๐Ÿ˜ญ BUGS ๐Ÿ˜ญ

ngl, this software is still in active development, and we live for your detailed bug reports and documentation patches ๐Ÿ’–. Please report any bugs or feature requests to <https://github.com/hakonhagland/perl-math-gsl/issues>.

๐ŸŒˆ DEVELOPMENT ๐ŸŒˆ

If you wanna help develop Math::GSL, come hang out with us on Github <https://github.com/hakonhagland/perl-math-gsl/issues> and fork, send Pull Requests and/or create issues. literally the more the merrier ๐Ÿซถ

To view the latest source code online, go to <https://github.com/hakonhagland/perl-math-gsl> โœจ

๐Ÿ•Š๏ธ DEDICATION ๐Ÿ•Š๏ธ

This Perl module is dedicated in memory of Nick Ing-Simmons. ๐Ÿ’œ

Copyright (C) 2008-2024 Jonathan "Duke" Leto, Thierry Moisan all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


okay that's the whole page bestie, go forth and do science ๐Ÿ’…โœจ no cap, you're gonna slay.

signing off from the Math::GSL(3pm) manual page, served up by perl v5.42.3, dated 2026-08-20 ๐ŸŒธ โ€” mwah, ilysm, go run some numbers ๐Ÿซถ๐Ÿ’–

๐Ÿ“ฆ where this page comes from