Dear GAP Forum,

Vahid Dabbaghian-Abdoly wrote

> I have a dense matrix of large dimensions with entries in the cyclotomic
> field CF(24) and in this matrix I would like to replace the primitive
> element E(24) by a prime number p.
> Do you know any method for this substitution?

If only one value shall be replaced by another value and all other values
in the matrix shall remain unchanged,
a short solution is the following.

    mat:= ...; # the matrix, i.e., list of lists
    old:= ...; # the value that shall be replaced
    new:= ...; # the value that shall replace it
    replace:= function( value )
              if value = old then return new; fi; return value; end;
    List( mat, row -> List( row, replace ) );

Another possible interpretation of replacement would be that
all entries of the given matrix over `CF(24)' shall be replaced
by the images under a linear map (or a ring homomorphism that is defined
by the image of `E(24)').
The replacement by a prime mentioned in the question is not of that kind,
but if one is interested in this then one can use the GAP function
`CoeffsCyc' to compute the (rational) coefficients of an element `x'
in `CF(n)' w.r.t. a basis of `CF(n)' that consists of certain powers of
`E(n)'.
`CoeffsCyc( x, n )' is a list of length `n' in which the entry at
position `i' is the coefficient of `E(n)^i'.
(See "CoeffsCyc" in the GAP Reference Manual,
more about the basis used can be found in the manual section
"Integral Bases of Abelian Number Fields".)

All the best,
Thomas


_______________________________________________
Forum mailing list
[email protected]
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to