Provided by: libmath-gsl-perl_0.44-1build3_amd64
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-2023 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.