1#@local a,b,c,cen,cenu,cenv,d,f,fullcen,l,mat,n,r,rada,radc,sum 2#@local u,ua,ub,uc,ud,uz,v,z,zero 3gap> START_TEST("algmat.tst"); 4 5############################################################################# 6gap> Ring( [ [ [ Z(9), Z(3) ], [ Z(3), 0*Z(3) ] ], 7> [ [ 0*Z(9), Z(27) ], [ Z(3)^0, Z(3) ] ] ] ); 8<algebra over GF(3), with 2 generators> 9gap> Ring( [ [ 1, E(5) ], [ E(5), 0 ] ] ); 10<free left module over Integers, and ring, with 1 generators> 11gap> Ring( [ [ 1, 0 ], [ 0, 0 ] ], [ [ 0, E(5) ], [ E(7), 5 ] ] ); 12<free left module over Integers, and ring, with 2 generators> 13gap> RingWithOne( [ [ [ Z(9), Z(3) ], [ Z(3), 0*Z(3) ] ], 14> [ [ 0*Z(9), Z(27) ], [ Z(3)^0, Z(3) ] ] ] ); 15<algebra-with-one over GF(3), with 2 generators> 16gap> RingWithOne( [ [ 1, E(5) ], [ E(5), 0 ] ] ); 17<free left module over Integers, and ring-with-one, with 1 generators> 18gap> RingWithOne( [ [ 1, 0 ], [ 0, 0 ] ], [ [ 0, E(5) ], [ E(7), 5 ] ] ); 19<free left module over Integers, and ring-with-one, with 2 generators> 20gap> mat:= [ [ 1, E(4) ], [ 1, 1 ] ]; 21[ [ 1, E(4) ], [ 1, 1 ] ] 22gap> r:= DefaultRing( [ mat ] ); 23<algebra over Rationals, with 1 generators> 24gap> mat in r; 25true 26 27############################################################################# 28gap> z:= Algebra( GF(3), [], [ [ 0*Z(9), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ] ); 29<algebra of dimension 0 over GF(3)> 30gap> IsGaussianMatrixSpace( z ); 31true 32gap> IsTrivial( z ); 33true 34gap> Dimension( z ); 350 36gap> a:= Algebra( GF(3), [ [ [ Z(9), Z(3) ], [ Z(3), 0*Z(3) ] ], 37> [ [ 0*Z(9), Z(27) ], [ Z(3)^0, Z(3) ] ] ] ); 38<algebra over GF(3), with 2 generators> 39gap> IsNonGaussianMatrixSpace( a ); 40true 41gap> Dimension( a ); 4224 43gap> b:= Algebra( Rationals, [ [ [ 1, E(5) ], [ E(5), 0 ] ] ] ); 44<algebra over Rationals, with 1 generators> 45gap> IsNonGaussianMatrixSpace( b ); 46true 47gap> Dimension( b ); 488 49gap> c:= Algebra( CF(5), [ [ [ 1, E(5) ], [ E(5), 0 ] ] ], 50> [ [ 0, 0 ], [ 0, 0 ] ] ); 51<algebra over CF(5), with 1 generators> 52gap> IsGaussianMatrixSpace( c ); 53true 54gap> Dimension( c ); 552 56gap> d:= Algebra( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ], 57> [ [ 0, E(3) ], [ E(4), 5 ] ] ] ); 58<algebra over Rationals, with 2 generators> 59gap> IsNonGaussianMatrixSpace( d ); 60true 61gap> Dimension( d ); 6216 63 64############################################################################# 65gap> uz:= AlgebraWithOne( GF(3), [], 66> [ [ 0*Z(9), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ] ); 67<algebra-with-one over GF(3), with 0 generators> 68gap> IsGaussianMatrixSpace( uz ); 69true 70gap> IsTrivial( uz ); 71false 72gap> Dimension( uz ); 731 74gap> ua:= AlgebraWithOne( GF(3), [ [ [ Z(9), Z(3) ], [ Z(3), 0*Z(3) ] ], 75> [ [ 0*Z(9), Z(27) ], [ Z(3)^0, Z(3) ] ] ] ); 76<algebra-with-one over GF(3), with 2 generators> 77gap> IsNonGaussianMatrixSpace( ua ); 78true 79gap> Dimension( ua ); 8024 81gap> ub:= AlgebraWithOne( Rationals, [ [ [ 1, E(5) ], [ E(5), 0 ] ] ] ); 82<algebra-with-one over Rationals, with 1 generators> 83gap> IsNonGaussianMatrixSpace( ub ); 84true 85gap> Dimension( ub ); 868 87gap> uc:= AlgebraWithOne( CF(5), [ [ [ 1, E(5) ], [ E(5), 0 ] ] ], 88> [ [ 0, 0 ], [ 0, 0 ] ] ); 89<algebra-with-one over CF(5), with 1 generators> 90gap> IsGaussianMatrixSpace( uc ); 91true 92gap> Dimension( uc ); 932 94gap> ud:= AlgebraWithOne( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ], 95> [ [ 0, E(3) ], [ E(4), 5 ] ] ] ); 96<algebra-with-one over Rationals, with 2 generators> 97gap> IsNonGaussianMatrixSpace( ud ); 98true 99gap> Dimension( ud ); 10016 101 102############################################################################# 103gap> IsUnit( c, Zero( c ) ); 104false 105gap> r:= [ [ 1, 1 ], [ 1, 1 ] ]; r in c; IsUnit( c, r ); 106[ [ 1, 1 ], [ 1, 1 ] ] 107false 108false 109gap> r:= [ [ 1, 1 ], [ 0, 1 ] ]; r in c; IsUnit( c, r ); 110[ [ 1, 1 ], [ 0, 1 ] ] 111false 112false 113gap> IsUnit( c, [ [ 1, E(5) ], [ E(5), 0 ] ] ); 114true 115gap> IdentityMat( 2, GF(3) ); 116[ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ] 117 118############################################################################# 119gap> IsAssociative( a ); 120true 121gap> rada:= RadicalOfAlgebra( a ); 122<algebra of dimension 0 over GF(3)> 123gap> Dimension( rada ); 1240 125gap> IsAssociative( c ); 126true 127gap> radc:= RadicalOfAlgebra( c ); 128<algebra of dimension 0 over CF(5)> 129gap> Dimension( radc ); 1300 131gap> Dimension( RadicalOfAlgebra( radc ) ); 1320 133 134############################################################################# 135gap> cen:= Centralizer( c, GeneratorsOfAlgebra( c )[1] ); 136<algebra of dimension 2 over CF(5)> 137gap> cen = c; 138true 139gap> cen:= Centralizer( c, cen ); 140<algebra of dimension 2 over CF(5)> 141gap> cen = c; 142true 143gap> cen:= Centralizer( uc, GeneratorsOfAlgebra( uc )[1] ); 144<algebra-with-one of dimension 2 over CF(5)> 145gap> cen = uc; 146true 147gap> cen:= Centralizer( uc, cen ); 148<algebra-with-one of dimension 2 over CF(5)> 149gap> cen = uc; 150true 151gap> cen:= Centralizer( a, GeneratorsOfAlgebra( a )[1] ); 152<algebra of dimension 12 over GF(3)> 153gap> Dimension( cen ); 15412 155gap> cen:= Centralizer( a, cen ); 156<algebra of dimension 12 over GF(3)> 157gap> Dimension( cen ); 15812 159gap> cen:= Centralizer( ua, One( ua ) ); 160<algebra-with-one of dimension 24 over GF(3)> 161gap> cen = ua; 162true 163gap> cen:= Centralizer( ua, GeneratorsOfAlgebra( ua )[2] ); 164<algebra-with-one of dimension 12 over GF(3)> 165gap> Dimension( cen ); 16612 167gap> cen:= Centralizer( ua, cen ); 168<algebra-with-one of dimension 12 over GF(3)> 169gap> Dimension( cen ); 17012 171 172############################################################################# 173gap> fullcen:= FullMatrixAlgebraCentralizer( CF(5), 174> GeneratorsOfAlgebra( c ) ); 175<algebra-with-one of dimension 2 over CF(5)> 176gap> Dimension( fullcen ); 1772 178gap> fullcen:= FullMatrixAlgebraCentralizer( GF(3^6), 179> GeneratorsOfAlgebra( a ) ); 180<algebra-with-one of dimension 1 over GF(3^6)> 181gap> Dimension( fullcen ); 1821 183 184############################################################################# 185gap> f:= GF(2)^[3,3]; 186( GF(2)^[ 3, 3 ] ) 187gap> f = FullMatrixFLMLOR( GF(2), 3 ); 188true 189gap> IsFullMatrixModule( f ); 190true 191gap> IsAlgebra( f ); 192true 193gap> u:= Algebra( GF(2), 194> [ [ [ 1, 1, 1 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] * Z(2) ] ); 195<algebra over GF(2), with 1 generators> 196gap> Dimension( u ); 1972 198gap> IsSubset( f, u ); 199true 200gap> cenu:= Centralizer( f, u ); 201<algebra-with-one of dimension 5 over GF(2)> 202gap> Dimension( cenu ); 2035 204gap> v:= FreeLeftModule( GF(2), 205> [ [ [ 1, 1, 1 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] * Z(2) ] ); 206<vector space over GF(2), with 1 generators> 207gap> Dimension( v ); 2081 209gap> IsSubset( f, v ); 210true 211gap> cenv:= Centralizer( f, v ); 212<algebra-with-one of dimension 5 over GF(2)> 213gap> Dimension( cenv ); 2145 215gap> IsSubset( cenv, cenu ); 216true 217gap> cenv = Centralizer( f, GeneratorsOfLeftModule( v ) ); 218true 219gap> 220gap> Centralizer( f, [] ) = f; 221true 222 223############################################################################# 224gap> l:= FullMatrixLieAlgebra( GF(2), 3 ); 225<Lie algebra over GF(2), with 5 generators> 226gap> Dimension( l ); 2279 228 229############################################################################# 230gap> sum:= DirectSumOfAlgebras( f, f ); 231<algebra over GF(2), with 6 generators> 232gap> Dimension( sum ) = 2 * Dimension( f ); 233true 234gap> IsFullMatrixModule( sum ); 235false 236gap> sum:= DirectSumOfAlgebras( l, l ); 237<Lie algebra over GF(2), with 10 generators> 238gap> Dimension( sum ) = 2 * Dimension( l ); 239true 240gap> IsFullMatrixModule( sum ); 241false 242gap> sum:= DirectSumOfAlgebras( l, f ); 243<algebra of dimension 18 over GF(2)> 244gap> Dimension( sum ) = 2 * Dimension( l ); 245true 246gap> IsFullMatrixModule( sum ); 247false 248 249############################################################################# 250gap> n:= NullAlgebra( GF(3) ); 251<algebra of dimension 0 over GF(3)> 252gap> Dimension( n ); 2530 254gap> b:= Basis( n );; 255gap> BasisVectors( b ); 256[ ] 257gap> zero:= Zero( n ); 258EmptyMatrix( 3 ) 259gap> Coefficients( b, zero ); 260[ ] 261gap> zero + zero = zero; 262true 263gap> zero * zero = zero; 264true 265gap> [] * zero; 266[ ] 267gap> zero * []; 268[ ] 269gap> Z(3) * zero = zero; 270true 271gap> zero * Z(3) = zero; 272true 273gap> zero^3 = zero; 274true 275gap> zero^-3 = zero; 276true 277 278############################################################################# 279 280# missing: F.p. algebras 281 282# missing: standard bases of matrix algebras, 283# fingerprints, 'RepresentativeOperation' 284 285# missing: natural modules, abstract expressions, field multiplicity 286 287############################################################################# 288gap> STOP_TEST( "algmat.tst", 1); 289