Elements of finitely presented module

asked 2019-09-19 16:54:30 +0100

Tuan Bui gravatar image

updated 2019-09-21 14:46:31 +0100

FrédéricC gravatar image

Hello everyone,

I am computing group homology and have to deal with huge boundary matrices. The result should be a finitely presented Z-module. But I got the following problem

M = Matrix(ZZ,3,[2,1,0,0,0,0,0,0,0])
V = M.left_kernel()
N = Matrix(ZZ,2,[0,2,2,0,0,0])
W = N.image()
Q = V/W

Then I got the warning

 "repr(sage.modules.fg_pid.fgp_module.FGP_Module_class_with_category.element_class at 0x7ff4aad554b0) failed: AttributeError: 'sage.matrix.matrix_integer_sparse.Matrix_integer_sparse' object has no attribute '_clear_denom'

Do you have any idea how I can get through this? I want to know information about the generators of Q.

I can't even ask for its additive order

x = Q.0

Thank you!

edit retag flag offensive close merge delete


It works for me (Sage 8.9.rc0 complied on Debian jessie 64bit, run from the command line).

Could you please give us some informations so that someone can try to reproduce your problem:

  • which version of Sage did you use ?
  • which OS ?
  • did you install Sage from the binaries, and which ones ?
  • did you compile Sage yourself ?
  • which notebook did you use (Sage notebook or jupyter notebook) ?
  • did you use the command line ?
  • ... ?
tmonteil gravatar imagetmonteil ( 2019-09-20 20:59:12 +0100 )edit

Works fine for me too in 8.9.rc0

FrédéricC gravatar imageFrédéricC ( 2019-09-21 16:35:38 +0100 )edit

You can also use the ChainComplex construction in Sage: given your M and N, you could do C = ChainComplex({0: M, 1: N}), where the numbers 0 and 1 indicate the dimensions indexing those matrices, and then you can ask for C.homology() or H = C.homology(2); H.gen(0).additive_order(), etc.

John Palmieri gravatar imageJohn Palmieri ( 2019-09-23 19:43:06 +0100 )edit