Provided by: libmath-gsl-perl_0.45-2build1_amd64 bug

NAME

       Math::GSL::Multiset - Multisets manipulation

SYNOPSIS

           use Math::GSL::Multiset qw/:all/;

           my $ms = Math::GSL::Multiset->($n, $k);

           my $value = $ms->get(2);

           # compute next multiset
           $ms->next;
           # compute the previous multiset

           # clone a multiset
           my $other = $ms->clone();

DESCRIPTION

       A multiset c is represented by an array of k integers in the range 0 to n-1, where each value c_i may
       occur more than once. The multiset c corresponds to indices of k elements chosen from an n element vector
       with replacement. In mathematical terms, n is the cardinality of the multiset while k is the maximum
       multiplicity of any value.

   Object Oriented API
       Handy Perl-style OO API for Multisets.

       "new"
           Creates  a  new  multiset  with  parameters  n,  k  and initializes it to the lexicographically first
           multiset element, i.e., 0 repeated k times.

               my $ms = Math::GSL::Multiset->($n, $k);

       "init_first"
           Initializes the multiset to the lexicographically first multiset element, i.e.  0 repeated k times.

               $ms->init_first;

       "init_last"
           Initializes the multiset c to the lexicographically last  multiset  element,  i.e.   n-1  repeated  k
           times.

               $ms->init_last;

       "get"
           Returns  the  value  of the i-th element of the multiset. If i lies outside the allowed range of 0 to
           k-1 then the error handler is invoked and 0 is returned.

               my $val = $ms->get($k-1);

       "next"
           Advances the multiset to the next multiset element in lexicographic order and returns GSL_SUCCESS. If
           no further  multisets  elements  are  available  it  returns  GSL_FAILURE  and  leaves  the  multiset
           unmodified.  Starting  with  the  first  multiset  and repeatedly applying this function will iterate
           through all possible multisets of a given order.

               $ms->next();

       "prev"
               $ms->prev();

           Steps backwards from the multiset to the previous multiset element in lexicographic order,  returning
           GSL_SUCCESS.  If  no  previous  multiset  is available it returns GSL_FAILURE and leaves the multiset
           unmodified.

       "to_list"
           Creates a Perl list of integers with the values from the multiset, starting at index 0 and ending  at
           index $k-1.

               @data = $ms->to_list;

       "clone"
           Creates a new multiset with the same size, and same values.

               my $new = $ms->clone;

   GSL API
       For reference on these methds, please consult the GSL documentation.

       "gsl_multiset_calloc"
       "gsl_multiset_alloc"
       "gsl_multiset_init_first"
       "gsl_multiset_init_last"
       "gsl_multiset_free"
       "gsl_multiset_memcpy"
       "gsl_multiset_get"
       "gsl_multiset_n"
       "gsl_multiset_k"
       "gsl_multiset_data"
       "gsl_multiset_valid"
       "gsl_multiset_next"
       "gsl_multiset_prev"
       "gsl_multiset_fwrite"
       "gsl_multiset_fread"
       "gsl_multiset_fprintf"
       "gsl_multiset_fscanf"

AUTHORS

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

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.

perl v5.40.0                                       2024-10-20                           Math::GSL::Multiset(3pm)