.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Math::GSL::BSpline 3pm" .TH Math::GSL::BSpline 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Math::GSL::BSpline \- Functions for the computation of smoothing basis splines .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Math::GSL::BSpline qw/:all/; .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" .ie n .IP "gsl_bspline_alloc($k, $nbreak)" 4 .el .IP "gsl_bspline_alloc($k, \f(CW$nbreak\fR)" 4 .IX Item "gsl_bspline_alloc($k, $nbreak)" This function allocates a workspace for computing B\-splines of order \f(CW$k\fR. The number of breakpoints is given by \f(CW$nbreak\fR. This leads to n = \f(CW$nbreak\fR + \f(CW$k\fR \- 2 basis functions. Cubic B\-splines are specified by \f(CW$k\fR = 4. .IP gsl_bspline_free($w) 4 .IX Item "gsl_bspline_free($w)" This function frees the memory associated with the workspace \f(CW$w\fR. .IP gsl_bspline_ncoeffs($w) 4 .IX Item "gsl_bspline_ncoeffs($w)" This function returns the number of B\-spline coefficients given by n = nbreak + k \- 2. .IP gsl_bspline_order 4 .IX Item "gsl_bspline_order" .PD 0 .IP gsl_bspline_nbreak 4 .IX Item "gsl_bspline_nbreak" .IP gsl_bspline_breakpoint 4 .IX Item "gsl_bspline_breakpoint" .ie n .IP "gsl_bspline_knots($breakpts, $w)" 4 .el .IP "gsl_bspline_knots($breakpts, \f(CW$w\fR)" 4 .IX Item "gsl_bspline_knots($breakpts, $w)" .PD This function computes the knots associated with the given breakpoints inside the vector \f(CW$breakpts\fR and stores them internally in \f(CW$w\fR\->{knots}. .ie n .IP "gsl_bspline_knots_uniform($a, $b, $w)" 4 .el .IP "gsl_bspline_knots_uniform($a, \f(CW$b\fR, \f(CW$w\fR)" 4 .IX Item "gsl_bspline_knots_uniform($a, $b, $w)" This function assumes uniformly spaced breakpoints on [$a,$b] and constructs the corresponding knot vector using the previously specified nbreak parameter. The knots are stored in \f(CW$w\fR\->{knots}. .ie n .IP "gsl_bspline_eval($x, $B, $w)" 4 .el .IP "gsl_bspline_eval($x, \f(CW$B\fR, \f(CW$w\fR)" 4 .IX Item "gsl_bspline_eval($x, $B, $w)" This function evaluates all B\-spline basis functions at the position \f(CW$x\fR and stores them in the vector \f(CW$B\fR, so that the ith element of \f(CW$B\fR is B_i($x). \f(CW$B\fR must be of length n = \f(CW$nbreak\fR + \f(CW$k\fR \- 2. This value may also be obtained by calling gsl_bspline_ncoeffs. It is far more efficient to compute all of the basis functions at once than to compute them individually, due to the nature of the defining recurrence relation. .Sp For more information on the functions, we refer you to the GSL official documentation: http://www.gnu.org/software/gsl/manual/html_node/ .SH EXAMPLES .IX Header "EXAMPLES" Coming soon. .SH AUTHORS .IX Header "AUTHORS" Jonathan "Duke" Leto and Thierry Moisan .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2008\-2023 Jonathan "Duke" Leto and Thierry Moisan .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.