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

Text::Conversation 0.03

Text: Conversation is a Perl module to turn a conversation to son, one line at time.SYNOPSIS # use



Crypt::PBC is a OO interface for the Stanford PBC library. Crypt::PBC is a OO interface for the


jclasslib bytecode viewer 3.0

jclasslib bytecode viewer is a Java bytecode viewer and class modification library. JProfiler is an


gtk-FOX 0.3

gtk-FOX project provides helper functions to use FOX toolkit together with GTK.Requirements:


Class::Meta::Declare 0.04

Class:: Meta:: Declare is a Perl module deprecated in favor of Class:: Meta:: Express. Class::


Games::Poker::OPP 1.0

Games:: Poker:: OPP is a Perl module that implements the use of Protocol.SYNOPSIS Online Poker


Locale::RecodeData::IBM290 1.16

local: RecodeData:: IBM290 is a Perl module with conversion tables and routines for IBM290.


PyCHM 0.8.4

PyCHM is a set of Python bindings for Jed Wing chmlib. Pyshma is a set of Python bindings for Jed


XML::DB::DatabaseManager 0.02

xml:: DB:: databaseManager is an approximation of the XML: DB databaseManager. XML:: DB::


UML::Sequence 0.07

UML:: Sequence is a Perl module to render UML sequence diagrams, often by running the code. UML::


Thumbnail of Math::Group::Thompson 0.96

Publisher/Developer: Roberto Alamos Moreno

Release Date: May 26, 2012

View Program Details

Top Downloadslast week