Skip to content

(re)implement is_invertible() for GF(2^e) #31274

@Symbol1

Description

@Symbol1

Hi, newbie here.
This ticket is created per suggestion in the following conversion:
https://groups.google.com/g/sage-devel/c/hcYi4jxIN8c/m/XdHVL3DGAAAJ

In the conversion, I observe that the speed of
Matrix(GL(2^8, GF(2^8)).random_element()).is_invertible()
is too slow comparing to a rather straightforward strategy
--- checking the rank against the matrix size
A.nrows() == A.ncols() == A.rank().

Travis then suggest to implement is_invertible()
in the class Matrix_gf2e_dense.
I also want to add that, at least over finite fields,
the rref approach feels to be faster, because

  1. there are asymptotically faster algorithm for rref; and
  2. False can be returned as early as a pivot is found missing.

Component: linear algebra

Issue created by migration from https://trac.sagemath.org/ticket/31274

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions