-
-
Notifications
You must be signed in to change notification settings - Fork 655
sage.quadratic_forms
: Modularization fixes for imports
#35305
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
sage.quadratic_forms
: Modularization fixes for imports
#35305
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #35305 +/- ##
===========================================
- Coverage 88.62% 88.32% -0.30%
===========================================
Files 2148 2145 -3
Lines 398855 398750 -105
===========================================
- Hits 353480 352193 -1287
- Misses 45375 46557 +1182
... and 41 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
#35166 makes |
…e.libs.pari sage.rings.padics
…tions, sage.symbolic into method
…ions into methods
…orts into methods
…ting some methods
SageMath version 10.0.beta8, Release Date: 2023-04-06
See
and note that So I think the distribution package that installs the quadratic forms module should also install the integral lattices module and the pari lib (which I want to hide as implementation details), getting rid of the |
In any case, if the goal is to minimize "external" dependencies, I wouldn't worry too much about what packages are bundled together as long as they have the same external dependencies. a. if package X uses external "pari" (say) the question is whether X has any utility at all when "pari" is not installed. Whether Anyway, I couldn't care less how this is done as long as I can still build sagelib as a whole (it takes me ~2m to build and ~3m to do a full test from gh source) and I'm not forced to use bundled external dependencies. Try not to choke with the bikeshed paint 🙄 |
In #35095 I am building the distribution sagemath-polyhedra, and I want to ship portions of I have already figured out what parts of |
That's right; the dependencies on compiled packages are the hard constraints. I am trying to make the modularization not much more fine-grained than what is dictated by these constraints. So yes, probably everything that (compile-time/load-time) depends on PARI will be shipped by one distribution package sagemath-pari. |
Yes. They are a big portion of
I think that distributions in the top layer of the hierarchy should follow the mathematical disciplines, like your sagemath-polyhedra. Likewise, instead of sagemath-pari, we may imagine sagemath-quadratic-forms or sagemath-integral-lattices or big (too big) umbrella sagemath-number-theory. Any of these distributions would want to install all of How would sagemath-quadratic-forms be organized? Would it be depend on sagemath-polyhedra? |
Below sagemath-polyhedra we would probably create something like sagemath-modules. That's easy refactoring after #35095 is done. |
self -- a quadratic form with base_ring `ZZ`, which we may | ||
require to have integer Gram matrix. | ||
- ``self`` -- a quadratic form with base_ring ``ZZ``, which we may | ||
require to have integer Gram matrix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\ZZ
would be better.
Otherwise, LGTM. |
I looked through the rendered documentation. There are many math formulas with asterisks |
Yes, these don't look very pretty. But I thought the intention is that "*" shows up in the text version (I don't know if that would be important.) In |
I have changed |
For me, For multiplication, I like the mapping |
I am not sure since I don't read |
I did. |
Okay now. |
|
I am okay with either way. |
Documentation preview for this PR is ready! 🎉 |
OK, then I'll leave experimentation with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixes. LGTM.
Thanks very much for reviewing! |
sagemathgh-40664: remove deprecations in quadratic forms These were deprecated in sagemath#23955 and sagemath#35305. ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. URL: sagemath#40664 Reported by: Frédéric Chapoton Reviewer(s): David Coudert
📚 Description
We make
sage.quadratic_forms
ready for modularized distributions by:sage.rings.padics.factory
, into methodslazy_import
to provide the methods ofQuadraticForm
implemented in separate modules# optional
annotations to doctestsAlso some improvements to the code style of doctests and the Sphinx markup of some docstrings have been made.
This has been and can be tested by merging into:
sagemath-polyhedra ships vector spaces etc. and now also portions of
sage.quadratic_forms
– see https://github.com/sagemath/sage/pull/35095/files#diff-f4c7c1beea87ae44c426de0a55459daef63b75b701b72bc136d88f4e7c9285cfR104Resolves #35243
Part of:
📝 Checklist
⌛ Dependencies