view release on metacpan or search on metacpan
lib/Algorithm/LinearManifoldDataClusterer.pm view on Meta::CPAN
my $error = $self->reconstruction_error($data_vec,$trailing_eigenvec_matrix,$ref_vec);
$reconstruction_error_for_a_ref_vec += $error;
}
push @reconstruction_errors, $reconstruction_error_for_a_ref_vec;
}
my $recon_error_for_original_mean = shift @reconstruction_errors;
my $smallest_error_randomly_selected_ref_vecs = List::Util::min(@reconstruction_errors);
my $minindex = List::Util::first { $_ == $smallest_error_randomly_selected_ref_vecs }
@reconstruction_errors;
my $refvec = $random_points[$minindex];
return $refvec;
lib/Algorithm/LinearManifoldDataClusterer.pm view on Meta::CPAN
Unfortunately, experiments show that the algorithm as proposed by Kambhatla and Leen
is much too sensitive to how the clusters are seeded initially. To get around this
limitation of the basic clustering-by-minimization-of-reconstruction-error, this
module implements a two phased approach. In B<Phase 1>, we introduce a multiplier
effect in our search for clusters by looking for C<M*K> clusters instead of the main
C<K> clusters. In this manner, we increase the odds that each original cluster will
be visited by one or more of the C<M*K> randomly selected seeds at the beginning,
where C<M> is the integer value given to the constructor parameter
C<cluster_search_multiplier>. Subsequently, we merge the clusters that belong
together in order to form the final C<K> clusters. That work is done in B<Phase 2>
of the algorithm.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/Loops.pm view on Meta::CPAN
Otherwise a true value is returned.
So, if you start out with a sorted array, then you can use that as your
first permutation and then call NextPermute* to get the next permutation
to use, until NextPermute* returns a false value (at which point your
array has been returned to its original, sorted order).
So you would use NextPermute() like this:
my @list= sort GetValuesSomehow();
do {
view all matches for this distribution
view release on metacpan or search on metacpan
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
view all matches for this distribution
view release on metacpan or search on metacpan
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
view all matches for this distribution
view release on metacpan or search on metacpan
You'll need C<glib> installed to make this happy.
=head1 HISTORY
This was originally written using Inline, but never released due to
lack of round tuits. Recently a tuit supply arrived so I converted it
into XS to reduce dependencies.
=head1 BUGS
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/MarkovChain.pm view on Meta::CPAN
Takes one optional parameter: C<recover_symbols>
C<recover_symbols> has meaning if your symbols differ from their true
values when stringifyed. With this option enabled steps are taken to
ensure that the original values for symbols are returned by the
I<spew> method.
=item $obj->seed()
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/MasterMind.pm view on Meta::CPAN
solved; it contains partial solutions.
=head2 issue_first_Knuth
First combination looking like AABC for the normal
mastermind. Proposed by Knuth in one of his original papers.
=head2 issue_next()
Issues the next combination
view all matches for this distribution
view release on metacpan or search on metacpan
- Extended median() that it will accept a reference to
a list; but, pass by reference is only marginally (10%) faster.
- Made the quicksort algorithm default and bubblesort optional.
Tremendous improvement in computation time originated thereof.
- Rewrote the Perl interface to median(); options to median()
may be passed via an anonymous hash reference.
0.16 Mon Apr 17 16:46:48 CEST 2006
view all matches for this distribution
view release on metacpan or search on metacpan
This module complements L<Algorithm::Diff|Algorithm::Diff> by
providing three-way merge and diff functions.
In this documentation, the first list to C<diff3>, C<merge>, and
C<traverse_sequences3> is
called the `original' list. The second list is the `left' list. The
third list is the `right' list.
The optional key generation arguments are the same as in
L<Algorithm::Diff|Algorithm::Diff>. See L<Algorithm::Diff> for more
information.
Given references to three lists of items, C<diff3> performs a
three-way difference.
This function returns an array of operations describing how the
left and right lists differ from the original list. In scalar
context, this function returns a reference to such an array.
Perhaps an example would be useful.
Given the following three lists,
original: a b c e f h i k
left: a b d e f g i j k
right: a b c d e h i j k
merge: a b d e g i j k
The first element in each row is the array with the difference:
c - conflict (no two are the same)
l - left is different
o - original is different
r - right is different
u - unchanged
The next three elements are the lists from the original, left,
and right arrays respectively that the row refers to (in the synopsis,
these are C<@ancestor>, C<@a>, and C<@b>, respectively).
=head2 merge
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for Perl extension Algorithm::MinMax.
0.01 Tue May 27 17:59:59 2003
- original version; created by h2xs 1.21 with options
-XA -n Algorithm::MinMax
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Tie/Hash/MinPerfHashTwoLevel/OnDisk.pm view on Meta::CPAN
U16 key_len -> length of key
U16 val_len -> length of value
The hash function used is Siphash 1-3, which uses a 16 byte seed to produce
a 32 byte state vector used for hashing. The file contains the state vector
required for hashing and does not include the original seed.
=head2 EXPORT
None by default.
view all matches for this distribution
view release on metacpan or search on metacpan
Algorithm-NCS/Changes view on Meta::CPAN
Revision history for Perl extension Algorithm::NCS.
0.01 Wed Nov 30 16:34:03 2016
- original version; created by h2xs 1.23 with options
-A -n Algorithm::NCS --skip-ppport
0.02 Sun Dec 11 16:39:06 2016
- added description
0.03 Thu Apr 11 11:39:36 2018
- rewrited code
view all matches for this distribution
view release on metacpan or search on metacpan
whether the 'purge' flag was set. This has been fixed.
0.01 Tue Mar 18 18:45:34 2003
- original version; created by extracting the NaiveBayes code out of
AI::Categorizer::Learner::NaiveBayes
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/Networksort.pm view on Meta::CPAN
# $itemcount - The number of items in a list to be joined.
# It may be negative.
# @list - The list
#
# Create a new list by performing a join on I<$itemcount> elements at a
# time on the original list. Any leftover elements from the end of the
# list become the last item of the new list, unless I<$itemcount> is
# negative, in which case the first item of the new list is made from the
# leftover elements from the front of the list.
#
sub semijoin
view all matches for this distribution
view release on metacpan or search on metacpan
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
view all matches for this distribution
view release on metacpan or search on metacpan
LICENSE.txt view on Meta::CPAN
received it.
Conditions
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that
you duplicate all of the original copyright notices and associated
disclaimers.
2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder. A
Package modified in such a way shall still be considered the
view all matches for this distribution
view release on metacpan or search on metacpan
=head2 --copy=I<suffix>
If this option is given, a copy of each file will be saved with
the given suffix that contains the suggested changes. This does
not require any external programs. Note that this does not
automagially add a dot between the original filename and the
suffix. If you want the dot, you have to include it in the option
argument.
If neither C<--patch> or C<--copy> are given, the default is to
simply print the diffs for each file. This requires either
$self =~ s/^SKIP.*(?=^__DATA__)/SKIP
if (\@ARGV && \$ARGV[0] eq '--unstrip') {
eval { require Devel::PPPort };
\$@ and die "Cannot require Devel::PPPort, please install.\\n";
if (\$Devel::PPPort::VERSION < $VERSION) {
die "$0 was originally generated with Devel::PPPort $VERSION.\\n"
. "Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n"
. "Please install a newer version, or --unstrip will not work.\\n";
}
Devel::PPPort::WriteFile(\$0);
exit 0;
}
print <<END;
Sorry, but this is a stripped version of \$0.
To be able to use its original script and doc functionality,
please try to regenerate this file using:
\$^X \$0 --unstrip
END
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for Perl extension Algorithm::PageRank.
0.01 Mon Jun 9 17:27:50 2003
- original version; created by h2xs 1.21 with options
-A Algorithm::PageRank
0.03 Sun, 22 Aug 2004 14:43:27 +0800
- rewrite using PDL
view all matches for this distribution
view release on metacpan or search on metacpan
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for Perl extension Algorithm::Pair::Swiss.
0.1 2006-06-10
- original version; unable to handle odd number of parties
- and sadly I used 0.1 instead of 0.01 as the version number
0.11 2006-06-10
- algorithm fixed to also properly handle odd number of parties
- some corrections to the documentation
view all matches for this distribution
view release on metacpan or search on metacpan
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
recipients of the item may redistribute it under the same conditions they
received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived
from the Public Domain or from the Copyright Holder. A Package modified in such
a way shall still be considered the Standard Version.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/Permute.pm view on Meta::CPAN
=back
=head1 AUTHOR
Edwin Pratomo <edpratomo@cpan.org> was the original author.
Stephan Loyd <sloyd@cpan.org> is co-maintainer after version 0.12.
The object oriented interface is taken from Tom Phoenix's C<List::Permutor>.
Robin Houston <robin@kitsite.com> invented and contributed the callback
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/Points/MinimumDistance.pm view on Meta::CPAN
my $nn = Algorithm::Points::MinimumDistance->new( ... );
my $nn_dist = $nn->distance( point => [1, 4] );
Returns the distance between the specified point and its nearest
neighbour. The point should be one of your original set. There is no
check that this is the case. Note that if a point has no particularly
close neighbours, then C<boxsize> will be returned instead.
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for Perl extension Algorithm-Prefixspan
0.04 2015-06-18T03:43:35Z
- original version
view all matches for this distribution
view release on metacpan or search on metacpan
0.02 Tue May 31 2022
- fix compilation on threaded perls
0.01 Mon May 30 2022
- original version
view all matches for this distribution
view release on metacpan or search on metacpan
- Added test suite
- Added github repository and bugtracker
- Maintenance-related changes
0.1 Mon Aug 9 13:56:27 2004
- original version; created by h2xs 1.21 with options
-AX -n Algorithm::QuadTree
view all matches for this distribution
view release on metacpan or search on metacpan
for row_dom(), col_dom(), and purge_essentials()). Always
pass in the argument -- it's less confusing that way.
- Trim Util.pm of tobits() -- it's embedded in BUILD now.
2014-08-19
- More work in find_primes(). An array slice in a hash isn't
working as originally coded (I seem to recall the rules
changing some time ago). Changed it to two statements for
now.
2014-07-07
- After looking over the labeling in the run.t file, added
a new attribute, "title". We can now say what the A::QMcC
object actually represents.
- Broke up run.t into separate test files. The original
file was compact and in theory easy to add to, but I was
having trouble figuring out what was causing my Moose
errors. Plus, there were too many eval calls in the code.
- The original code changed the minterms, maxterms, and
dontcares attributes from the passed-in list of decimal
into bitstrings, and saved them back in the attributes.
We can't do that now, because Moose has set those fields
typed as 'ArrarRef[Int]'.
So, set up three new fields that represent the three fields
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/RabinKarp.pm view on Meta::CPAN
=item new($k, [FileHandle|Scalar|Coderef] )
Creates a new hash generator. If you provide a callback function, it must
return the next integer value in the stream. Additionally, you may
return the original position of the value in the stream (ie, you may have been
filtering characters out because they're redundant.)
=cut
sub new {
view all matches for this distribution
view release on metacpan or search on metacpan
- Stores the matrix in sparse format. That is, not every value
of the returned array is defined but only non-zero values are
stored in the matrix.
0.01 Sat Mar 18 20:06:48 2006
- original version; created by h2xs 1.23 with options
-AXc -n Algorithm::RandomMatrixGeneration
view all matches for this distribution
view release on metacpan or search on metacpan
0.02 Mar 9, 2007
- use Algorithm::RectanglesContainingDot_XS when available
0.01 Tue Mar 6 16:56:02 2007
- original version; created by h2xs 1.23 with options
-AXn Algorithm::RectanglesContainingDot
view all matches for this distribution