Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This output should never occur, because Id.normal_basis() should return a list/sequence of monomials which form a vector space basis of the quotient ring, and 0 is not a monomial (it is the "empty sum of monomials").

If Id.dimension() > 0 then the quotient is not finite-dimensional, and the convention seems to be to return the empty list [] in this case. In recent versions of SageMath you can still obtain part of the (infinite) basis, by passing a degree argument to normal_basis; this will return all monomials of the specified degree in the basis:

sage: R.<x,y,z>=PolynomialRing(QQ)
sage: I=R.ideal([x^2+y^2-1, z])
sage: I.dimension()
1
sage: I.normal_basis(1)
[y, x]
sage: I.normal_basis(2)
[y^2, x*y]

In the above output z is absent because z=0 in the quotient, and x^2 is absent because x2=1y2 in the quotient, etc.

click to hide/show revision 2
No.2 Revision

This output should never occur, because Id.normal_basis() should return a list/sequence of monomials which form a vector space basis of the quotient ring, and 0 is not a monomial (it is the "empty sum of monomials").

If Id.dimension() > 0 then the quotient is not finite-dimensional, finite-dimensional (i.e. the normal basis is infinite), and the convention convention seems to be for normal_basis() to return the empty list [] in this case. case (it does not mean that the normal basis is actually empty, it just means we cannot really return the whole thing in a reasonable way). In recent versions of SageMath you can still obtain part of the (infinite) basis, by passing a degree argument to normal_basis; this will return all monomials of the specified degree in the basis:

sage: R.<x,y,z>=PolynomialRing(QQ)
sage: I=R.ideal([x^2+y^2-1, z])
sage: I.dimension()
1
sage: I.normal_basis(1)
[y, x]
sage: I.normal_basis(2)
[y^2, x*y]

In the above output z is absent because z=0 in the quotient, and x^2 is absent because x2=1y2 in the quotient, etc.