# Difference between revisions of "ApCoCoA-1:Fibonacci groups"

### Fibonacci groups

#### Description

Fibonacci groups are related to the inductive definition of the Fibonacci numbers f_{i} + f_{i+1} = f_{i+2} where f_{1} = f_{2} = 1. For a natural number m <= 7 this groups are finite (see table below).

``` F(2,m) = <x_{1},...,x_{m} | x_{i}x_{i+1} = x_{i+2}>
```
 m isomorphic group order 1 trivial group 1 2 trivial group 1 3 Quaternion group 8 4 cyclic group Z5 5 5 cyclic group Z11 11 7 cyclic group Z29 29

#### Reference

R. Thomas, “The Fibonacci groups F(2,2m)”, Bull. London Math. Soc.,21, No. 5, 463-465 (1989).

#### Computation

``` /*Use the ApCoCoA package ncpoly.*/

// Number of fibonacci group
MEMORY.N:=7;

Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
NC.SetOrdering("LLEX");

Define CreateRelationsFibonacci()
Relations:=[];

// add the relations of the inverse elements
For Index1 := 1 To MEMORY.N Do
//Append(Relations,[[x[Index1],y[Index1]],]);
//Append(Relations,[[y[Index1],x[Index1]],]);
EndFor;

// add the relations x_{i}x_{i+1} = x_{i+2}
For Index2 := 1 To MEMORY.N -2 Do
Append(Relations,[[x[Index2],x[Index2+1]],[x[Index2+2]]]);
EndFor;
Append(Relations,[[x[MEMORY.N-1],x[MEMORY.N]],[x]]);
Append(Relations,[[x[MEMORY.N],x],[x]]);

Return Relations;
EndDefine;

Relations:=CreateRelationsFibonacci();
Relations;

Gb:=NC.GB(Relations,31,1,100,1000);
Gb;
```

#### Example in Symbolic Data Format

``` <FREEALGEBRA createdAt="2014-03-11" createdBy="strohmeier">
<vars>x1,x2,x3,x4,x5,x6,x7</vars>
<uptoDeg>6</uptoDeg>
<basis>
<ncpoly>x1*x2-x3</ncpoly>
<ncpoly>x2*x3-x4</ncpoly>
<ncpoly>x3*x4-x5</ncpoly>
<ncpoly>x4*x5-x6</ncpoly>
<ncpoly>x5*x6-x7</ncpoly>
<ncpoly>x6*x7-x1</ncpoly>
<ncpoly>x7*x1-x2</ncpoly>
</basis>
<Comment>The LLexGb has 423 elements</Comment>
<Comment>Fibonacci_group_7</Comment>
</FREEALGEBRA>
```