diff options
Diffstat (limited to 'src/algebra/ffhom.spad.pamphlet')
-rw-r--r-- | src/algebra/ffhom.spad.pamphlet | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/algebra/ffhom.spad.pamphlet b/src/algebra/ffhom.spad.pamphlet index 6195d5b6..30e8302b 100644 --- a/src/algebra/ffhom.spad.pamphlet +++ b/src/algebra/ffhom.spad.pamphlet @@ -164,14 +164,14 @@ FiniteFieldHomomorphisms(F1,GF,F2): Exports == Implementation where mat:=zero(degree1,degree1)$M arr:=reducedQPowers(defPol1)$FFPOLY(GF) for i in 1..degree1 repeat - setColumn_!(mat,i,vectorise(arr.(i-1),degree1)$SUP(GF))$M + setColumn!(mat,i,vectorise(arr.(i-1),degree1)$SUP(GF))$M -- old code -- here one of the representation types must be "normal" --a:=basis()$FFP(GF,defPol1).2 -- the root of the def. polynomial - --setColumn_!(mat,1,coordinates(a)$FFP(GF,defPol1))$M + --setColumn!(mat,1,coordinates(a)$FFP(GF,defPol1))$M --for i in 2..degree1 repeat -- a:= a **$FFP(GF,defPol1) size()$GF - -- setColumn_!(mat,i,coordinates(a)$FFP(GF,defPol1))$M + -- setColumn!(mat,i,coordinates(a)$FFP(GF,defPol1))$M --for the direction "normal" -> "polynomial" we have to multiply the -- coordinate vector of an element of the normal basis field with -- the matrix 'mat'. In this case 'mat' is the correct conversion @@ -220,10 +220,10 @@ FiniteFieldHomomorphisms(F1,GF,F2): Exports == Implementation where root:=rootOfIrreduciblePoly(dPsmall)$FFPOL2(FFP(GF,dPbig),GF) -- set up matrix for polynomial conversion matsb:=zero(degbig,degsmall)$M - qsetelt_!(matsb,1,1,1$GF)$M + qsetelt!(matsb,1,1,1$GF)$M a:=root for i in 2..degsmall repeat - setColumn_!(matsb,i,coordinates(a)$FFP(GF,dPbig))$M + setColumn!(matsb,i,coordinates(a)$FFP(GF,dPbig))$M a := a *$FFP(GF,dPbig) root -- the conversion from 'big' to 'small': we can't invert matsb -- directly, because it has degbig rows and degsmall columns and @@ -245,7 +245,7 @@ FiniteFieldHomomorphisms(F1,GF,F2): Exports == Implementation where mat:=inverse(mat)$M :: M matbs:=zero(degsmall,degbig)$M for i in 1..degsmall repeat - setColumn_!(matbs,iVec.i,column(mat,i)$M)$M + setColumn!(matbs,iVec.i,column(mat,i)$M)$M -- print(matsb::OUT) -- print(matbs::OUT) -- 4) if the 'bigger' field is "normal" we have to compose the @@ -261,13 +261,13 @@ FiniteFieldHomomorphisms(F1,GF,F2): Exports == Implementation where arr:=reducedQPowers(dPbig)$FFPOLY(GF) mat:=zero(degbig,degbig)$M for i in 1..degbig repeat - setColumn_!(mat,i,vectorise(arr.(i-1),degbig)$SUP(GF))$M + setColumn!(mat,i,vectorise(arr.(i-1),degbig)$SUP(GF))$M -- old code --a:=basis()$FFP(GF,dPbig).2 -- the root of the def.Polynomial - --setColumn_!(mat,1,coordinates(a)$FFP(GF,dPbig))$M + --setColumn!(mat,1,coordinates(a)$FFP(GF,dPbig))$M --for i in 2..degbig repeat -- a:= a **$FFP(GF,dPbig) size()$GF - -- setColumn_!(mat,i,coordinates(a)$FFP(GF,dPbig))$M + -- setColumn!(mat,i,coordinates(a)$FFP(GF,dPbig))$M -- print(inverse(mat)$M::OUT) matsb:= (inverse(mat)$M :: M) * matsb -- print("inv *.."::OUT) @@ -284,13 +284,13 @@ FiniteFieldHomomorphisms(F1,GF,F2): Exports == Implementation where arr:=reducedQPowers(dPsmall)$FFPOLY(GF) mat:=zero(degsmall,degsmall)$M for i in 1..degsmall repeat - setColumn_!(mat,i,vectorise(arr.(i-1),degsmall)$SUP(GF))$M + setColumn!(mat,i,vectorise(arr.(i-1),degsmall)$SUP(GF))$M -- old code --b:FFP(GF,dPsmall):=basis()$FFP(GF,dPsmall).2 - --setColumn_!(mat,1,coordinates(b)$FFP(GF,dPsmall))$M + --setColumn!(mat,1,coordinates(b)$FFP(GF,dPsmall))$M --for i in 2..degsmall repeat -- b:= b **$FFP(GF,dPsmall) size()$GF - -- setColumn_!(mat,i,coordinates(b)$FFP(GF,dPsmall))$M + -- setColumn!(mat,i,coordinates(b)$FFP(GF,dPsmall))$M -- print(mat::OUT) matsb:= matsb * mat matbs:= (inverse(mat) :: M) * matbs |