Not quite what you want, but there is this: sage: R.<x,y> = QQ[] sage: from sage.rings.polynomial.multi_polynomial_sequence import PolynomialSequence sage: PolynomialSequence(R, [x^2, x*y, x^2+y^2]).coefficient_matrix() ( [1 0 0] [x^2] [0 1 0] [x*y] [1 0 1], [y^2] )
On Friday, February 14, 2014 2:46:55 PM UTC, Dima Pasechnik wrote: > > Lately I need to do computations of this sort: for F a field, say, QQ, > given polynomials f, g_1,...,g_k in F[x1,...,xn], where n can be, say, > 50, find out whether f belongs to the F-span of g_1,...,g_k. > (and find an expression for f as sum_j a_j g_j, if it exists) > > This is of course easy linear algebra. > (take the monomials involved, then g_j corresponds to a vector, etc) > Is there a natural way to do this in Sage ? > (computing the ideal (g_1,...,g_k) is not feasible, and in fact > not needed). > > In GAP one can form vector spaces directly by specifying > the field and the list [g_1,...,g_k] - no need for the g_j > to be linearly independent or anything like this. > gap> x1:=Indeterminate(Rationals,1); > gap> x2:=Indeterminate(Rationals,2); > gap> r:=PolynomialRing(Rationals,[x1,x2]); > gap> V:=VectorSpace(Rationals, [x1^0,x1,x1*x2,x2^2,(x1-x2)^2,x1^2]); > gap> 5-x1*x2 in V; > true > gap> Coefficients(Basis(V),5-x1*x2); > [ 5, 0, -1, 0, 0 ] > gap> Basis(V); > Basis( <vector space of dimension 5 over Rationals>, [ 1, x_1, > x_1*x_2, x_2^2, x_1^2 ] ) > > Thanks, > Dima > > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.
