The bug below is actually a blocker for certain linear algebra
problems over Z/dZ. From what I can see,
apparently, elements of Integers(D) can be of one of IntegerMod_int,
IntegerMod_int64 or IntegerMod_gmp
and apparently they get mixed in the same parent. Coercion problems
ensue.
Unfortunately, resolving the problem is way beyond me. Would it be
possible for someone who knows about the architecture to look into
this problem?

http://www.sagemath.org:9002/sage_trac/ticket/387

Example:

A=matrix([(70, 49, -20, -34, 57), (-49, -14, 95, 43, 85), (-95, -63,
68, 52, 12), (11,-16, -50, 43, 76), (-55, 83, 55, 40, -14)])
D=A.determinant()
R=Integers(D)
MD=MatrixSpace(R,A.nrows(),A.ncols())
AD=MD(A)
# You would expect elements of R and entries of AD to be of exactly
the same type.
# this is not the case, however:
print parent(AD.row(1)[1])
print parent(R(3))
# Indeed, the types of these are not the same:
print type(AD.row(1)[1])
print type(R(3))
# and this has consequences: You'd expect the following to work, but
it gives an error:
R(3)*AD.row(1)


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to