Attachment 'magma-quat-demo.m'

Download

   1 RandomSecretQuaternionAlgebra := function();
   2   A := AssociativeAlgebra(QuaternionAlgebra<Rationals() | -1,1>);
   3   vecs := [&+[Random(10)*A.i : i in [1..4]] : j in [1..4]];
   4   Mchange := Matrix(Rationals(),4,4,&cat[Eltseq(vecs[i]) : i in [1..4]]);
   5   Mchange := Mchange^(-1);
   6   seq := [<i,j,k,((vecs[i]*vecs[j])*Mchange)[k]> : i,j,k in [1..4]];
   7   A := AssociativeAlgebra<Rationals(),4 | seq>;
   8   return A;
   9 end function;
  10 
  11 // QUATERNION ALGEBRAS
  12 A<alpha,beta> := QuaternionAlgebra<Rationals() | 3,-5>;
  13 alpha^2;
  14 beta^2;
  15 beta*alpha eq -alpha*beta;
  16 theta := 1+alpha-2*beta+3*alpha*beta;
  17 MinimalPolynomial(theta);
  18 theta^2 - Trace(theta)*theta + Norm(theta);
  19 
  20 // RECOGNIZING QUATERNION ALGEBRAS
  21 A := RandomSecretQuaternionAlgebra();
  22 A;
  23 [ A.i*A.j : i,j in [1..4]];
  24 bl, Aquat, phi := IsQuaternionAlgebra(A);
  25 bl;
  26 Aquat;
  27 StandardForm(Aquat);
  28 Aquat.1^2, Aquat.2^2;
  29 phi;
  30 
  31 // RECOGNIZING THE MATRIX RING
  32 IsMatrixRing( QuaternionAlgebra<QuadraticField(-3) | -1,-1> );
  33 IsMatrixRing( QuaternionAlgebra<QuadraticField(5) | -1,-1> );
  34 
  35 A := QuaternionAlgebra<Rationals() | -1, 1>;
  36 eps := A.3-1;
  37 MinimalPolynomial(eps), Norm(eps);
  38 M2F, phi := MatrixRing(A,eps);
  39 phi;
  40 [<MinimalPolynomial(A.i), MinimalPolynomial(phi(A.i))> : i in [1..3]];
  41 
  42 // HILBERT SYMBOL
  43 _<x> := PolynomialRing(Rationals());
  44 K<s> := NumberField(x^2-6);
  45 Z_K := MaximalOrder(K);
  46 S := [x+y*Z_K.2 : x,y in [0..7] | x*y ne 0];
  47 a := Random(S); b := Random(S);
  48 A := QuaternionAlgebra<K | a,b>;
  49 RamifiedPlaces(A);
  50 [<pp, HilbertSymbol(A, pp[1])> : pp in 
  51    Factorization(ideal<Z_K | 2*Norm(a)*Norm(b)>)];
  52 
  53 F<b> := NumberField(x^3-3*x-1);
  54 Foo := InfinitePlaces(F);
  55 Z_F := MaximalOrder(F);
  56 I := ideal<Z_F | 6>;
  57 A := QuaternionAlgebra(I);
  58 FactoredDiscriminant(A);
  59 A := QuaternionAlgebra(ideal<Z_F | 1>, Foo[1..2]);
  60 FactoredDiscriminant(A);
  61 
  62 // MAXIMAL ORDERS
  63 A<alpha,beta,alphabeta> := QuaternionAlgebra<F | -3,b>;
  64 O := MaximalOrder(A);
  65 Factorization(Discriminant(O));
  66 PseudoBasis(O);
  67 
  68 A := QuaternionAlgebra<QuadraticField(1234830) | -123748, -12349813>;
  69 O := MaximalOrder(A);
  70 Discriminant(O);
  71 
  72 // IDEAL CLASSES
  73 pp := Decomposition(Z_F, 17)[1][1];
  74 A := QuaternionAlgebra(pp, Foo);
  75 O := MaximalOrder(A);
  76 time Rideals := RightIdealClasses(O);
  77 #Rideals;
  78 Irand := RandomRightIdeal(O);
  79 IsIsomorphic(Irand, Rideals[1]);
  80 IsIsomorphic(Irand, Rideals[2]);
  81 
  82 // UNIT GROUPS
  83 A := QuaternionAlgebra(ideal<Z_F | 2>, Foo);
  84 IsDefinite(A);
  85 O := MaximalOrder(A);
  86 U, h := UnitGroup(O);
  87 U;
  88 #Units(O);
  89 

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2007-03-18 07:42:38, 0.2 KB) [[attachment:latex_70651e10ef618d77debe55327b874328d797d69a_p1.png]]
  • [get | view] (2007-03-18 07:42:38, 2.4 KB) [[attachment:magma-quat-demo.m]]
  • [get | view] (2007-03-18 07:42:38, 76.6 KB) [[attachment:quatalgs-slides.pdf]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.