On Tuesday, May 23, 2017 at 8:17:41 AM UTC+1, Chris Brav wrote:
>
> Thanks. It seems that indeed some rings, such as ZZ and QQ, are too exotic
> for Singular,
this is a limitation of Singular - it appears that any ring in Singular
must be either a polynomial ring or something derived from it,
Caution to those who want to use this: Singular produces a symmetric power
matrix in a basis that is the reverse of what you (or at least I) might expect.
Which basis Singular chooses is clear if you test it on a diagonal matrix with
variables as entries.
--
You received this message because
Thanks. It seems that indeed some rings, such as ZZ and QQ, are too exotic for
Singular, and that you really have to base change to a polynomial ring over a
field. Here is a little function definition which seems to work for any matrix
defined over a domain:
def sympow(A,d):
R=A.base_ring()
it's a good plan, unless your A has exotic entries, so that a Singular
polynomial ring with coefficients in this ring cannot be made. E.g. the
following works:
sage: R.=QQ[]
sage: A=matrix(R,[[1,2],[3,4]])
sage: singular.symmetricPower(A._singular_(),3).sage()
[64 48 36 27]
[96 64 42 27]
[48 28