Skip to content

change_ring to non-field gives inconsistent result #40321

Open
@user202729

Description

@user202729

We may have two modules M1 and M2 such that M1 == M2 but M1.change_ring(ZZ) != M2.change_ring(ZZ).

M1 = (QQ^2).span_of_basis([(1, 2)])
M2 = (QQ^2).span_of_basis([(2, 4)])
assert M1 == M2
assert M1.change_ring(ZZ) != M2.change_ring(ZZ)

Proposal: Something like M1.intersection(ZZ^2) appears to work at the moment. It might be a good idea to inform the user of the behavior of change_ring in its documentation, which might be unexpected, and point out alternatives.

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