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 116 117 118 119 120 121 122 123 124 125 126
|
%perlcode %{
@EXPORT_OK = qw/
gsl_min_fminimizer_alloc
gsl_min_fminimizer_free
gsl_min_fminimizer_set
gsl_min_fminimizer_set_with_values
gsl_min_fminimizer_iterate
gsl_min_fminimizer_name
gsl_min_fminimizer_x_minimum
gsl_min_fminimizer_x_lower
gsl_min_fminimizer_x_upper
gsl_min_fminimizer_f_minimum
gsl_min_fminimizer_f_lower
gsl_min_fminimizer_f_upper
gsl_min_fminimizer_minimum
gsl_min_test_interval
gsl_min_find_bracket
$gsl_min_fminimizer_brent
$gsl_min_fminimizer_goldensection
/;
%EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
__END__
=encoding utf8
=head1 NAME
Math::GSL::Min - 1-D Minimization
=head1 SYNOPSIS
use Math::GSL::Min qw/:all/;
use Math::GSL::Const qw/$M_PI/;
my $m = gsl_min_fminimizer_alloc($gsl_min_fminimizer_goldensection);
gsl_min_fminimizer_set_with_values($m,
sub { cos($_[0]) },
3, cos(3),
0, cos(0),
2*$M_PI, cos(2*$M_PI)
);
my $status = gsl_min_fminimizer_iterate($m);
my $x_min = gsl_min_fminimizer_x_minimum($m);
my $x_lower = gsl_min_fminimizer_x_lower($m);
my $x_upper = gsl_min_fminimizer_x_upper($m);
my $f_min = gsl_min_fminimizer_f_minimum($m);
my $f_lower = gsl_min_fminimizer_f_lower($m);
my $f_upper = gsl_min_fminimizer_f_upper($m);
=head1 DESCRIPTION
Here is a list of all the functions in this module :
=over
=item * C<gsl_min_fminimizer_alloc($type)>
=item * C<gsl_min_fminimizer_free>
Don't call this function explicitly. It will be called automatically in DESTROY for fminimizer.
=item * C<gsl_min_fminimizer_set >
Don't apply this function twice to the same fminimizer. It will cause a memory leak. Instead of this you should create new fminimizer.
=item * C<gsl_min_fminimizer_set_with_values>
Don't apply this function twice to the same fminimizer. It will cause a memory leak. Instead of this you should create new fminimizer.
=item * C<gsl_min_fminimizer_iterate($m)>
=item * C<gsl_min_fminimizer_name >
=item * C<gsl_min_fminimizer_x_minimum($m)>
=item * C<gsl_min_fminimizer_x_lower($m) >
=item * C<gsl_min_fminimizer_x_upper($m) >
=item * C<gsl_min_fminimizer_f_minimum($m)>
=item * C<gsl_min_fminimizer_f_lower($m) >
=item * C<gsl_min_fminimizer_f_upper($m) >
=item * C<gsl_min_fminimizer_minimum($m) >
=item * C<gsl_min_test_interval($m) >
=item * C<gsl_min_find_bracket($m) >
=back
This module also includes the following constants :
=over
=item * C<$gsl_min_fminimizer_brent>
=item * C<$gsl_min_fminimizer_goldensection>
=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
%}
|