Skip to contents

Various metrics to describe how “big” a free object is

Usage

size(a)
total(a)
number(a)
bigness(a)

Arguments

a

Vector of free group objects

Details

  • The size of an object is the number of pure powers in it (this is the number of columns of the matrix representation of the word)

  • The total of an object is the sum of the absolute values of its powers

  • The number of an object is the number of distinct symbols in it

Thus size(a^2ba)=3, total(a^2ba)=4, and number(a^2ba)=2.

Function bigness() is a convenience wrapper that returns all three bigness measures.

Value

These functions return an integer vector.

Author

Robin K. S. Hankin

Note

I would like to thank Murray Jorgensen for his insightful comments which inspired this functionality.

See also

Examples


(a <- rfree(20,6,4))
#>  [1] d^-4.a.d^-6.c^-1.a^4       b^-2.d^5.a^11             
#>  [3] d^-6.c^5.d^-4.b.d^4        b^6.d^2.a^2.d^4.a^-1      
#>  [5] b.d^5.c^6.b^-6.d^-5.b^-1   a^2.c^-2.d^-3.c^-5        
#>  [7] b.c.a.c^4                  a^6.b^-6.d.c^-1           
#>  [9] a^-2.d^-4.a^-1.d^3         d^2.b^-6.c^4.a^-4         
#> [11] d^-2.a^-7.d^2              c^2.d^3.a.b^3.d^2.b^-3    
#> [13] d^-2.a^-5.b^-3.c^-4.b^-1   b^-1.d^2.a^-4.d^3.c^2     
#> [15] a^-3.b.d^-4                a^-6.b^4.d^-5.a^6.d^5     
#> [17] c^3.b^6.a^6.d^-6.a^-2.c^-2 c^-6.d^-5.c^2.a^-5        
#> [19] d^-3.c^-6.b^-1.c           b^2.c^2.d^5.a.d^-3        
size(a)
#>  [1] 5 3 5 5 6 4 4 4 4 4 3 6 5 5 3 5 6 4 4 5
total(a)
#>  [1] 16 18 20 15 24 12  7 14 10 16 11 14 15 12  8 26 25 18 11 13
number(a)
#>  [1] 3 3 3 3 3 3 3 4 2 4 2 4 4 4 3 3 4 3 3 4

a <- rfree(20,6,4)
b <- rfree(20,6,4)

## Following should all be TRUE
size(a+b)   <= size(a)  + size(b)
#>  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [16] TRUE TRUE TRUE TRUE TRUE
total(a+b)  <= total(a) + total(b)
#>  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [16] TRUE TRUE TRUE TRUE TRUE
number(a+b) <= number(a)+ number(b)
#>  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [16] TRUE TRUE TRUE TRUE TRUE

bigness(rfree(10,3,3))
#>            size total number
#> b^3.a^-2      2     5      2
#> c.a.c         3     3      2
#> c^-2.b        2     3      2
#> b.a^3.c^-2    3     6      3
#> c^2.b^2       2     4      2
#> a^-4          1     4      1
#> a^2.c         2     3      2
#> a^-1.c        2     2      2
#> c^2.b^-1      2     3      2
#> a^-1          1     1      1
bigness(allconj(rfree(1,6,1)))
#>     size total number
#> a^4    1     4      1
#> a^4    1     4      1
#> a^4    1     4      1
#> a^4    1     4      1