# Singular

#### D.14.1.37 arrFlats

Procedure from library `arr.lib` (see arr_lib).

Usage:
size(A); A arr

Return:
[arrposet] Intersection lattice

Example:
 ```LIB "arr.lib"; ring R = 0,(x(1..5)),dp; arrFlats(arrBraid(5)); ==> ==> ==> === Computing poset === ==> ==> ==> rank: 2, expected OPS: 45, excecuted OPS: 60 ==> Cleaned up: 35 hyperplanes ==> ==> ==> rank: 3, expected OPS: 300, excecuted OPS: 75 ==> Cleaned up: 60 hyperplanes ==> ==> ==> rank: 4, expected OPS: 105, excecuted OPS: 15 ==> Cleaned up: 14 hyperplanes ==> ==> ==> ==> ==> Matrix tests: 1484 ==> Given Arrangement: ==> _[1]=x(1)-x(2) ==> _[2]=x(1)-x(3) ==> _[3]=x(1)-x(4) ==> _[4]=x(1)-x(5) ==> _[5]=x(2)-x(3) ==> _[6]=x(2)-x(4) ==> _[7]=x(2)-x(5) ==> _[8]=x(3)-x(4) ==> _[9]=x(3)-x(5) ==> _[10]=x(4)-x(5) ==> ==> Corresponding poset: ==> ====== rank 1: 10 flats ====== ==> (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), ==> ====== rank 2: 25 flats ====== ==> (1,2,5), (1,3,6), (1,4,7), (1,8), (1,9), (1,10), (2,3,8), (2,4,9)\ , (2,6), (2,7), (2,10), (3,4,10), (3,5), (3,7), (3,9), (4,5), (4\ ,6), (4,8), (5,6,8), (5,7,9), (5,10), (6,7,10), (6,9), (7,8), (8,\ 9,10), ==> ====== rank 3: 15 flats ====== ==> (1,2,3,5,6,8), (1,2,4,5,7,9), (1,2,5,10), (1,3,4,6,7,10), (1,3,6,9),\ (1,4,7,8), (1,8,9,10), (2,3,4,8,9,10), (2,3,7,8), (2,4,6,9), (2,6,\ 7,10), (3,4,5,10), (3,5,7,9), (4,5,6,8), (5,6,7,8,9,10), ==> ====== rank 4: 1 flats ====== ==> (1,2,3,4,5,6,7,8,9,10), ==> ====== rank 5: 0 flats ====== ==> ==> ```
See also: arrFlats.