Opened 5 years ago

Last modified 5 years ago

#17957 new defect

Pickling for morphisms of modules with basis defined by a matrix

Reported by: nthiery Owned by:
Priority: major Milestone: sage-6.6
Component: pickling Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by nthiery)

The class sage.modules.module_with_basis_morphism.ModuleMorphismFromMatrix and TriangularModuleMorphism with inverse_on_support="compute" do not pickle properly. See the comments and examples near their respective TestSuite? test.

A first potential route would be to use pickling by construction for those classes. Another one -- more general -- would be to implement pickling for methods of dictionaries / builtin types:

sage: d = {1:2}
sage: dumps(d.__getitem__)
...
TypeError: expected string or Unicode object, NoneType found

sage: dumps(dict.__getitem__)
...
PicklingError: Can't pickle <type 'method_descriptor'>: attribute lookup __builtin__.method_descriptor failed

This is a follow up to #8678.

Change History (3)

comment:1 Changed 5 years ago by nthiery

  • Description modified (diff)

comment:2 Changed 5 years ago by nthiery

  • Description modified (diff)
  • Summary changed from Pickling for morphisms of modules with basis to Pickling for morphisms of modules with basis defined by a matrix

comment:3 Changed 5 years ago by nthiery

  • Description modified (diff)
Note: See TracTickets for help on using tickets.