Math::Group::Thompson 0.96

Perl Artistic Licens

Math::Group::Thompson 0.96

Math::Group::Thompson module contains OO methods that calculates the cardinality of the ball of radius 'n' of Thompson group F. Math::Group::Thompson Perl module contains OO methods that calculates the cardinality of the ball of radius 'n' of Thompson group F.SYNOPSISuse Math::Group::Thompson;my $F = Math::Group::Thompson->new( VERBOSE => 0 );my $card = $F->cardBn(3,'');print "#B(3) = $cardn";The Math::Group::Thompson module provides objetct oriented methods that calculates the cardinality of the ball of radius 'n' of Thompson group F.This module uses the presentation of FF = < A,B | [AB^(-1),A^(-1)BA] = [AB^(-1),A^(-2)BA^2] = e >where A,B are formal symbols, [x,y] is the usual commutator and e is the identity element of F.[x,y] = xyx^(-1)y^(-1)This means that for every g in F, g can be written as wordg = a_{1}a_{2} ... a_{n}where all the a_{i} are A,B,A^(-1) or B^(-1) for all i$v );Verbose argument tells Math::Group::Thompson whether print every word generated ($v == 1) or not ($v == 0), or store them in a file, where $v is the name of the file (obviously different to 0 or 1). If the verbose file exists it is replaced, so you have to check for its integrity.NOTE:It's not recommend to store the words on a file because forvery small values of n, #B(n) or #gB(n)-B(n) are very very large.For example for n = 19, #B(n) ~ 3^n = 1162261467 ~ 1.1 Giga, butthe space ocupped by the file will be (in bytes):#B(1) + sum(i=2 to 19){i*(#B(i) - #B(i-1))} = cardBnThis method calculates #B(n) or #(gB(n) - B(n)) depending on if the argument passed to the first call of cardBn is '' or not.Usage: my $c = $F->cardBn($radius,$g);where$radius is an integer number >= 0 and $g is an element of F (word written with A,B,C or D).If the first time cardBn is called $g is not equal to '', then cardBn returns the cardinality of the setgB(n) - B(n) = { w in F | w in gB(n) and w not in B(n) }If the firs time cardBn is callen $g is equal to '', then cardBn returns #B(n).This algorithm runs on exponential time because F is of exponential growth (more "exactly", this algorithm is O(3^n) ).resetResets the counter used on cardBn method, set the FIRST_ELEMENT property at '', and the FIRST_CALL proporty to 1.Usage: $F->reset;multiplyMultiplication between two words of F. This method considers the inverse relations stored in the attribute INV.Usage: my $mul = $F->multiply($g,$w);where $g and $w are elements of F, and $mul is the result of $g$w.rotateThis module receives as argument a word in F and puts the last letter on word in its first place.Usage: $w = 'ABC'; $W = $self->rotate($w); # $W is now equal to 'CBA'inverseThis method receives a word in F and returns its inverse.Usage: $w = 'ABC'; $W = $self->inverse($w); # $W == 'ADC'divideThis method receives a word in F and returns a 2-dimensional array where the first element is the first half of the word, and the second is the inverse of the second half of the word.Usage: $w = 'AABC'; ($w1,$w2) = $self->divide($w); # Now $w1 == 'AA' and $w2 == 'AD'get_invThis method return the hash of inverse relations between the generators elements of F.noteThis method prints in STDERR the string received or puts it on the correspondent file.Usage: $F->note('AA'); # Print AA."n" or store it on a file.Requirements:· Perl

Download and use it now: Math::Group::Thompson 0.96 free download

Add a review

Tell us your experience with Math::Group::Thompson 0.96

Related programsOur Recommendations

ROZK 0.6.1

Making CRUD application forms. CommentsUsing rozk developers to develop solutions for my customers,


GraphViz::ISA::Multi 0.02

GraphViz:: ISA:: Multi is a display ISA relationships between modules. GraphViz:: ISA:: Multi is an


Geo::Ellipsoids 1.11

Geo::Ellipsoids is a package for standard Geo:: ellipsoid a, b, f and 1/f values. Geo::Ellipsoids


TuxCap 1.3.09

TuxCap is a gaming software framework. TuxCap Games is part of a port of PopCap Games Framework,


DBI::BabyConnect 0.93

Creates an object that holds a connection to a database DBI DBI:: BabyConnect is the base class for


Tk::TableMatrix::Spreadsheet 1.23

Tk: tablematrix:: Spreadsheets is a Tk:: tablematrix-derived class that implements some bindings so


Devel::Hints 0.11

Devel:: Tips is a Perl module created to access a compilation of advice from time to execution.


pypp 0.0.3

A PYthon pypp preprocessor preprocessor is a Python-based model Mako engine.Usage: Simply insert


Ruby Nmap::Parser Library 0.3.2

A library provides a Ruby interface to Nmap scan data. Ruby Nmap:: Parser Library is a library


OpenSSL 0.9.8l

OpenSSL is the Open Source toolkit for Secure Sockets Layer and Transport Layer Security. The


Thumbnail of Math::Group::Thompson 0.96

Publisher/Developer: Roberto Alamos Moreno

Release Date: May 26, 2012

View Program Details

Top Downloadslast week