|
5.1.10 coeffs
-
Syntax:
coeffs ( poly_expression , ring_variable )
coeffs ( ideal_expression, ring_variable )
coeffs ( vector_expression, ring_variable )
coeffs ( module_expression, ring_variable )
coeffs ( poly_expression, ring_variable, matrix_name )
coeffs ( ideal_expression, ring_variable, matrix_name )
coeffs ( vector_expression, ring_variable, matrix_name )
coeffs ( module_expression, ring_variable, matrix_name )
-
Type:
matrix
-
Purpose:
develops each polynomial of the first argument, say J,
as a univariate polynomial in the given ring_variable,
say z, and returns the coefficients as a k x d
matrix M,
where:
| d-1 = maximum z-degree of all occurring polynomials
k = 1 if J is a polynomial,
k = number of generators if J is an ideal.
|
If J is a vector or a module this procedure is repeated for each
component and the resulting matrices are appended.
The third argument is used to return the matrix T of coefficients
such that matrix(J) = T*M.
-
Note:
coeffs returns the coefficient 0 at the appropriate place if a monomial
is not present, while coef considers only monomials which really occur
in the given expression.
If
then the j-th generator of an ideal J is equal to
while for a module J the i-th component of the j-th generator is
equal to the entry [i,j] of matrix(J), and we get
-
Example:
| ring r;
poly f=(x+y)^3;
matrix M=coeffs(f,y);
print(M);
→ x3,
→ 3x2,
→ 3x,
→ 1
ideal i=f,xyz+z10y4;
print(coeffs(i,y));
→ x3, 0,
→ 3x2,xz,
→ 3x, 0,
→ 1, 0,
→ 0, z10
|
-
Syntax:
coeffs ( ideal_expression, ideal_expression )
coeffs ( module_expression, module_expression )
coeffs ( ideal_expression, ideal_expression, product_of_ringvars )
coeffs ( module_expression, module_expression, product_of_ringvars )
-
Type:
matrix
-
Purpose:
let the first argument be M,
the second argument be K (a set of monomials, resp. vectors with monomial
entries, in the variables appearing in P),
the third argument be the product P of variables to consider (if this
argument is not given, then the product of all ring variables is taken
as default argument).
M is supposed to consist of elements of (resp. have entries in)
a finitely generated module
over a ring in the variables not appearing in P. K should contain the
generators of M over this smaller ring.
Then coeffs(M,K,P) returns a matrix A of coefficients with K*A=M
such that the entries of A do not contain any variable from P.
If K does not contain all generators that are necessary to express
M, then K*A=M’ where M’ is the part of M that can be expressed.
-
Example:
| ring r=32003,(x,y,z),dp;
ideal M=x2z+y3,xy;
print(coeffs(M,ideal(x2,xy,y2),xy));
→ z,0,
→ 0,1,
→ 0,0
print(coeffs(M,ideal(x2,xy,y2)));
→ 0,0,
→ 0,1,
→ 0,0
|
See
coef;
kbase.
|