File: Poly.pod

package info (click to toggle)
libmath-gsl-perl 0.45-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 192,156 kB
  • sloc: ansic: 895,524; perl: 24,682; makefile: 12
file content (115 lines) | stat: -rw-r--r-- 3,372 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
%perlcode %{

@EXPORT_OK = qw/
                gsl_poly_eval
                gsl_poly_complex_eval
                gsl_complex_poly_complex_eval
                gsl_poly_dd_init
                gsl_poly_dd_eval
                gsl_poly_dd_taylor
                gsl_poly_solve_quadratic
                gsl_poly_complex_solve_quadratic
                gsl_poly_solve_cubic
                gsl_poly_complex_solve_cubic
                gsl_poly_complex_workspace_alloc
                gsl_poly_complex_workspace_free
                gsl_poly_complex_solve
                $GSL_POSZERO $GSL_NEGZERO $GSL_NAN
             /;

%EXPORT_TAGS = ( all => \@EXPORT_OK );

__END__

=encoding utf8

=head1 NAME

Math::GSL::Poly - Solve and evaluate polynomials

=head1 SYNOPSIS

    use Math::GSL::Poly qw/:all/;
    my ($a,$b,$c) = (1,6,9);
    my ($x0, $x1) = (0,0);
    my $num_roots = gsl_poly_solve_quadratic( $a, $b, $c, \$x0, \$x1);
    print "${a}*x**2 + ${b}*x + $c contains $num_roots roots which are $x0 and $x1. \n";

=head1 DESCRIPTION

Here is a list of all the functions included in this module :

=over

=item * gsl_poly_eval(@values, $length, $x)

This function evaluates a polynomial with real coefficients for the real
variable $x. $length is the number of elements inside @values. The function
returns a complex number.

=item * gsl_poly_complex_eval(@values, $length, $z)

This function evaluates a polynomial with real coefficients for the complex
variable $z. $length is the number of elements inside @valuesi. The function
returns a complex number.

=item * gsl_complex_poly_complex_eval(@values, $length, $z)

This function evaluates a polynomial with real coefficients for the complex
variable $z. $length is the number of elements inside @values. $length is the
number of elements inside @values. The function returns a complex number.

=item * gsl_poly_dd_init

=item * gsl_poly_dd_eval

=item * gsl_poly_dd_taylor

=item * gsl_poly_solve_quadratic( $a, $b, $c, \$x0, \$x1)

Find the real roots of the quadratic equation $a*x**2+$b*x+$c = 0, return the
number of real root (either zero, one or two) and the real roots are returned
by $x0, $x1 and $x2 which are deferenced.

=item * gsl_poly_complex_solve_quadratic

=item * gsl_poly_solve_cubic($a, $b, $c, \$x0, \$x1, \$x2)

find the real roots of the cubic equation x**3+$a*x**2+$b*x+$c = 0, return the
number of real root (either one or three) and the real roots are returned by
$x0, $x1 and $x2 which are deferenced.

=item * gsl_poly_complex_solve_cubic

=item * gsl_poly_complex_workspace_alloc($n)

This function allocates space for a gsl_poly_complex_workspace struct and a
workspace suitable for solving a polynomial with $n coefficients using the
routine gsl_poly_complex_solve.

=item * gsl_poly_complex_workspace_free($w)

This function frees all the memory associated with the workspace $w.

=item * gsl_poly_complex_solve()

=back

For more information on the functions, we refer you to the GSL official documentation:
L<http://www.gnu.org/software/gsl/manual/html_node/>

=head1 AUTHORS

Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2008-2024 Jonathan "Duke" Leto and Thierry Moisan

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

=cut
%}