.\" -*- 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::Chebyshev 3pm"
.TH Math::GSL::Chebyshev 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::Chebyshev \- Univariate Chebyshev Series Approximation
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.Vb 1
\& use Math::GSL::Chebyshev qw/:all/;
\&
\& my $cheb = gsl_cheb_alloc(40);
\& my $function = sub { sin(cos($_[0])) };
\&
\& gsl_cheb_init($cheb, $function, 0, 10);
\&
\& my $x = gsl_cheb_eval($cheb, 5.5 );
\& my ($status,$y,$err) = gsl_cheb_eval_err($cheb, 7.5 );
\& gsl_cheb_free($cheb);
.Ve
.SH DESCRIPTION
.IX Header "DESCRIPTION"
.IP \(bu 4
\&\f(CWgsl_cheb_alloc($size)\fR
.Sp
.Vb 1
\& my $cheb = gsl_cheb_alloc(50);
.Ve
.Sp
Allocates a new Chebyshev object with \f(CW$size\fR sample points.
.IP \(bu 4
\&\f(CWgsl_cheb_free($cheb)\fR
.Sp
Deallocates memory associated to \f(CW$cheb\fR. Returns void.
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_init($cheb,$function, $lower, $upper)\*(C'\fR
.Sp
.Vb 1
\& gsl_cheb_init($cheb, sub { sin(cos($_[0])) }, 0, 10 );
.Ve
.Sp
Initiate a Chebyshev object with a function and upper and lower bounds.
Returns void.
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval($function, $value)\*(C'\fR
.Sp
.Vb 1
\& my $evaluated = gsl_cheb_eval($cheb, 5 );
.Ve
.Sp
Returns a Perl scalar of the Chebyshev object \f(CW$cheb\fR evaluated at \f(CW$value\fR.
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval_err($cheb, $value)\*(C'\fR
.Sp
.Vb 1
\& my ($status,$evaluated,$err) = gsl_cheb_eval($cheb, 5 );
.Ve
.Sp
Returns a list consisting of a GSL status code, the evaluate value and
the estimated error of the evaluation.
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval_n \*(C'\fR
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval_n_err \*(C'\fR
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval_mode \*(C'\fR
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_eval_mode_e \*(C'\fR
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_calc_deriv($deriv,$cheb) \*(C'\fR
.Sp
.Vb 1
\& my $status = gsl_cheb_calc_deriv( $deriv, $cheb );
.Ve
.Sp
This will calculate the derivative of \f(CW$cheb\fR and stores it
in \f(CW$deriv\fR, which must be pre-allocated. Returns a GSL status code.
.IP \(bu 4
\&\f(CW\*(C`gsl_cheb_calc_integ($integ,$cheb) \*(C'\fR
.Sp
.Vb 1
\& my $status = gsl_cheb_calc_integ( $deriv, $cheb );
.Ve
.Sp
This will calculate the derivative of \f(CW$cheb\fR and stores it
in \f(CW$deriv\fR, which must be pre-allocated. Returns a GSL status code.
.PP
For more information on the functions, we refer you to the GSL official
documentation:
.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.