feat(Algebra/QuadraticAlgebra): classify quadratic algebras by their discriminant - #42708
feat(Algebra/QuadraticAlgebra): classify quadratic algebras by their discriminant#42708xroblot wants to merge 11 commits into
Conversation
…-map # Conflicts: # Mathlib/Algebra/QuadraticAlgebra/Basic.lean
…ratic-algebra-discr # Conflicts: # Mathlib/Algebra/QuadraticAlgebra/Basic.lean
…-discr # Conflicts: # Mathlib/Algebra/QuadraticAlgebra/Basic.lean
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pxa1HLgwZQg6sssxyFg2o1
PR summary 383452c168Import changes exceeding 2%
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Algebra.QuadraticAlgebra.Discr | 1365 | 1674 | +309 (+22.64%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.Algebra.QuadraticAlgebra.Discr |
309 |
Declarations diff (regex)
+ algEquivDiscrZero
+ basis_apply_one
+ basis_apply_zero
+ discr_eq_im_sq_mul_discr
+ discr_eq_im_sq_mul_discr'
+ im_sq_mul_discr
+ isUnit_im_omega_of_algEquiv
+ map_star
+ nonempty_algEquiv_iff
+ nonempty_algEquiv_iff_of_invertible_two
+ nonempty_algEquiv_int_iff
+ norm_map_omega
+ smul_omega_sub_eq
+ trace_map
+ trace_map_omega
You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>
## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.
Declarations diff (Lean)
✅ Lean-aware diff — post-build, computed from the Lean environment (commit
383452c).
- +14 new declarations
- −0 removed declarations
+QuadraticAlgebra.algEquivDiscrZero
+QuadraticAlgebra.basis_apply_one
+QuadraticAlgebra.basis_apply_zero
+QuadraticAlgebra.discr_eq_im_sq_mul_discr
+QuadraticAlgebra.discr_eq_im_sq_mul_discr'
+QuadraticAlgebra.im_sq_mul_discr
+QuadraticAlgebra.isUnit_im_omega_of_algEquiv
+QuadraticAlgebra.map_star
+QuadraticAlgebra.nonempty_algEquiv_iff
+QuadraticAlgebra.nonempty_algEquiv_iff_of_invertible_two
+QuadraticAlgebra.nonempty_algEquiv_int_iff
+QuadraticAlgebra.norm_map_omega
+QuadraticAlgebra.trace_map
+QuadraticAlgebra.trace_map_omegaNo changes to strong technical debt.
No changes to weak technical debt.
Current commit 383452c168
Reference commit caa4dbde35
This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
|
This PR/issue depends on: |
…-disc2 # Conflicts: # Mathlib/Algebra/QuadraticAlgebra/Discr.lean
Classify
QuadraticAlgebra R a bup toR-algebra isomorphism by the discriminant: when2is invertible they are isomorphic iff the discriminants agree up to a square unit, and over
ℤthe discriminant is a complete invariant. Also adds the standard-form isomorphism
QuadraticAlgebra R a b ≃ₐ[R] QuadraticAlgebra R (discr a b) 0.Prepared with Claude Code 🤖