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

pyHed 1.0 Beta 1

Python desktop framework An open-source Python framework to create desktop applications.pyHed it's


libXEL 0.1.3

libXEL is a library event log that stores the data in log files SQLite and is able to export to XML


Dylan 1.0 beta1

Dylan is fast, flexible and capable of unusually sophisticated abstractions. Dylan is an advanced,


Servlet::ServletOutputStream 0.9.2

Servlet: ServletOutputStream is an interface servlet output stream. Servlet:: ServletOutputStream


PubSubHubbub_Publisher 1.0

A simple, open, web-based protocol hook pubsub Open Source and reference PubSubHubbub_Publisher


RCGI 1.20

RCGI CGI is a remote distributed processing using class.SYNOPSIS RCGI; @ result = Invoke (


pydelicious 0.3.0

pydelicious lets you access the Web service through it through the Python API.


libalinga 0.0.1

A codec for the multi-Alinga libalinga stream format is a C + + implementation of a codec for the


HTML::Element::Library 3.53

html:: comfort functions, element HTML:: Element:: Library is a Perl module that provides API calls


File::PM2File 0.08

File: PM2File - obsolete. User File:: Where to File:: PM2File - obsolete. User File:: WhereSYNOPSIS


Thumbnail of Math::Group::Thompson 0.96

Publisher/Developer: Roberto Alamos Moreno

Release Date: May 26, 2012

View Program Details

Top Downloadslast week