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

Pydap 3.0 RC8

Pure Python Opendap / client and the server DODS. Pydap is an implementation of the Opendap / DODS

Download

Mail::Client::Yahoo 1.0

Mail:: Client:: Yahoo is a Perl module with programmatic access to Yahoo web based email. Mail::

Download

CAN Abstraction Layer 0.1.6

The CAN Abstraction Layer (CANAL) provides a single interface for programs to use different CAN

Download

Quill 0.9.0

A Journal tablet / application sketchbook. It is written in C + + using the Qt library and is

Download

PythonNURBS 0.3

+ Python language binding for the NURBS + + library PythonNURBS is a module that contains the

Download

Chess::PGN::Filter 0.13

Chess::PGN::Filter is a Perl extension for converting PGN files to other

Download

Plake 0.01

Plake is software that allows you to maintain sections within a single file. Plake is a software

Download

libjit 0.1.2

libjit library implements just-in-functionality of the compilation. libjs project is a library that

Download

Thread::Isolate 0.05

Thread:: Isolate is a Perl module used to create threads that can be called from outside and used

Download

librs232 0.0.1

librs232 is a library implementing RS232/Serial communication protocol. librs232 is a library

Download

Thumbnail of Math::Group::Thompson 0.96

Publisher/Developer: Roberto Alamos Moreno

Release Date: May 26, 2012

View Program Details

Top Downloadslast week