New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The hash function of combinatorial free module elements should depend on the parent #15959
Comments
comment:1
Nicolas, do you have a preliminary branch that you could post (or is this the #15931 branch?) or could post the errors/doctest failures? |
comment:3
Replying to @tscrim:
Sorry, I should have provided steps to reproduce. Checkout branch #15931 at commit a2bbe7f, and run the tests on the Kyoto path model. |
Author: Travis Scrimshaw |
Commit: |
Branch: u/tscrim/kyoto_fix-15959 |
Dependencies: #15931 |
comment:4
I haven't merged in the latest #15931, but instead started with the a2bbe7f commit. The fix for the Kyoto path model is that I was passing in elements of the weight space, whereas the New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:7
I've merged the branch into #16193 and set that as a dependency. |
Changed commit from |
Changed branch from u/tscrim/kyoto_fix-15959 to none |
It would be desirable to make the hash value of (combinatorial) free
module elements depend on the hash value of the parent. However this
currently breaks some code (see
e.g. sage.combinat.crystals.kyoto_path_model.KyotoPathModel).
This code indeed assumes, in dictionary look-ups, that an element of
some free module over ZZ and its counter part over QQ (in the case at
hand, the weight lattice and the weight space), comparing as equal
because of a coercion, have the same hash value.
Yet another case of equality using coercion being harmful:
http://wiki.sagemath.org/EqualityCoercion
Depends on #15931
Depends on #16193
CC: @tscrim @anneschilling
Component: linear algebra
Author: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/15959
The text was updated successfully, but these errors were encountered: