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

aml 0.4.3

A library to work with AML AML Markup Language is a library for working with AML Markup Language.

Download

huTools 0.34a-r4292

Various small tools and toys to make Python coding less work more enjoyable. HuTools The project

Download

liburlmm 0.0.1

liburlmm is a simple C framework for manipulating URLs. liburlmm is a simple C framework for

Download

OpenInput 0.2.3

OpenInput is a multi-platform, easy to, use of inputs of Library Manager Portable, written in C.

Download

RiveScript::Tutorial 1.02

RiveScript::Tutorial is a beginner's guide to creating their first RiveScript

Download

GUPnP 0.3

GUPnP is an object-oriented open source framework for creating UPnP devices and control points,

Download

hgsvn 0.1.7

A set of scripts to work locally on Subversion checkouts using Mercurial hgsvn is a set of scripts

Download

Mail::Message::Field 2.072

Mail:: Message:: Field contains one line of a message header. Mail:: Message:: Field contains one

Download

Bio::MAGE::AuditAndSecurity 20030502.3

Bio:: Mage:: AuditAndSecurity is a Perl module for the container classes in the package Mage:

Download

Perl OpenID 1.1

Perl OpenID is a Perl module for verifying OpenID identities. Perl OpenID is a Perl module to check

Download

Thumbnail of Math::Group::Thompson 0.96

Publisher/Developer: Roberto Alamos Moreno

Release Date: May 26, 2012

View Program Details

Top Downloadslast week