Skip to content

LinearAlgebraForCAP and CategoryOfRows/Columns do not fulfil specifications #594

@zickgraf

Description

@zickgraf

Consider the following code:

LoadPackage("LinearAlgebra");
LoadPackage("RingsForHomalg");
QQ := HomalgFieldOfRationalsInMAGMA();
M := HomalgMatrix( "[0,0,0,0]", 2, 2, QQ );
N := HomalgMatrix( "[0,0,0,0]", 2, 2, QQ );
IsZero(N);
phi := AsVectorSpaceMorphism( M );
emb_phi := KernelEmbedding( phi );
psi := AsVectorSpaceMorphism( N );
emb_psi := KernelEmbedding( psi );

Display( IsEqualForMorphisms( phi, psi ) );
Display( IsEqualForMorphisms( emb_phi, emb_psi ) );

outputs

true
false

The same happens for CategoryOfRows.

The reason is that in MAGMA, SyzygiesOfRows of a zero matrix returns a matrix with ones on the counter-diagonal. However, if homalg knows that a matrix is 0, it returns the identity matrix for SyzygiesOfRows.

Notes:

  1. The same could happen any time for Singular, for example after a change as in Use (dp,c) as default ordering for Singular rings homalg_project#318 For example, if we would set the option returnSB in Singular (which applies std (=BasisOfColumns) to the output of the syz (=SyzygiesOfColums) command automatically), this would happen for Singular as well, since BasisOfRows( IdentityMatrix ) returns a matrix with ones on the counter-diagonal since the PR linked above was merged.
  2. I think fixing this with caching would need the "really crisp" caching we talked about in the other issue.

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