-
Notifications
You must be signed in to change notification settings - Fork 230
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
basis improvements for Artinian tower rings #3519
base: development
Are you sure you want to change the base?
Conversation
The failing build is an unrelated SumsOfSquares test. |
I think the SumsOfSquares test might actually be kind of related. If I remember when playing with this in the So anytime we add some more things to Core, we'll risk changing these hash codes and changing the matrix that gets sent to CSDP. At one point, I had a possible fix that would preserve the order, but that ended up not going in the final version of that PR. |
Wouldn't it consistently fail regardless of the build though? I'm not able to reproduce this locally. |
You'd think so, but I wasn't able to reproduce it locally either. I've only seen it on the Ubuntu 24.04 GitHub builds. And I'm running Ubuntu 24.04 locally using the exact same CSDP package that gets installed on the GitHub runners! It's very strange. Edit: I just noticed that it actually failed on a macOS runner instead this time. |
eef00fb
to
966cf9a
Compare
966cf9a
to
bbc9f09
Compare
@mikestillman here is the only breaking change in this PR: Before: basis of a tower ring gave the generators over the coefficient ring, but this meant that getting the basis of the whole tower ring was impossible. i1 : R = QQ[x]/x^2;
i2 : basis R
o2 = | 1 x |
1 2
o2 : Matrix R <-- R
i3 : S = R[y]/y^2;
i4 : basis S
o4 = | 1 y |
1 2
o4 : Matrix S <-- S
i5 : T = QQ[x][y]/y^2;
i6 : basis T
o6 = | 1 y |
1 2
o6 : Matrix T <-- T
i7 : T = QQ[s][t]/t^2;
i8 : basis T
o8 = | 1 t |
1 2
o8 : Matrix T <-- T After: basis of a tower ring uses all generators in the flat monoid, and you can use the i1 : R = QQ[x]/x^2;
i2 : basis R
o2 = | 1 x |
1 2
o2 : Matrix R <-- R
i3 : S = R[y]/y^2;
i4 : basis S
o4 = | 1 y xy x |
1 4
o4 : Matrix S <-- S
i5 : basis(S, Variables => S_*)
o5 = | 1 y |
1 2
o5 : Matrix S <-- S
i7 : T = QQ[s][t]/t^2;
i8 : basis T
stdio:8:5:(3): error: module given is not finite over the base
i9 : basis(T, Variables => {t})
o9 = | 1 t |
1 2
o9 : Matrix T <-- T |
Summary of changes:
The rest are fixes corresponding to the breaking change above: