Skip to content

Move method in IntegerLattice to apply more generally #40312

Open
@user202729

Description

@user202729

Currently, only ℤ-modules with a distinguished basis get methods like LLL or approximate_closest_vector or volume.

matrix([1, 2, 3]).right_kernel().volume()  # error (this should work!)
IntegerLattice(matrix([1, 2, 3]).right_kernel_matrix()).volume()  # works
#IntegerLattice(matrix([1, 2, 3]).right_kernel())  # loops forever

These methods in fact does not require a distinguished basis, as they are independent of the basis chosen. They could be moved upstream (to work with any ℤ-module, this may need creation of a new class).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions