-
Notifications
You must be signed in to change notification settings - Fork 250
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
[Merged by Bors] - chore: Slightly modify the split of CanonicalEmbedding
#11917
Closed
Closed
Changes from 2 commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,20 +5,33 @@ Authors: Xavier Roblot | |
-/ | ||
import Mathlib.MeasureTheory.Group.GeometryOfNumbers | ||
import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls | ||
import Mathlib.NumberTheory.NumberField.CanonicalEmbedding | ||
import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic | ||
|
||
#align_import number_theory.number_field.canonical_embedding from "leanprover-community/mathlib"@"60da01b41bbe4206f05d34fd70c8dd7498717a30" | ||
|
||
/-! | ||
# Convex Bodies | ||
# Canonical embedding of a number field | ||
|
||
This file contains theorems about convex bodies on infinite places of a number field. | ||
The canonical embedding of a number field `K` of degree `n` is the ring homomorphism | ||
`K →+* ℂ^n` that sends `x ∈ K` to `(φ_₁(x),...,φ_n(x))` where the `φ_i`'s are the complex | ||
embeddings of `K`. Note that we do not choose an ordering of the embeddings, but instead map `K` | ||
into the type `(K →+* ℂ) → ℂ` of `ℂ`-vectors indexed by the complex embeddings. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Was this intentionally duplicated from the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, you're right, that's not optimal. I'll change to a better docstring. Thanks |
||
|
||
## Main definitions and results | ||
## Main results | ||
|
||
* `NumberField.mixedEmbedding.exists_ne_zero_mem_ringOfIntegers_lt`: let | ||
`f : InfinitePlace K → ℝ≥0`, if the product `∏ w, f w` is large enough, then there exists a | ||
nonzero algebraic integer `a` in `K` such that `w a < f w` for all infinite places `w`. | ||
* `NumberField.mixedEmbedding.exists_ne_zero_mem_ideal_lt`: Let `I` be a fractional ideal of `K`. | ||
Assume that `f : InfinitePlace K → ℝ≥0` is such that | ||
`minkowskiBound K I < volume (convexBodyLT K f)` where `convexBodyLT K f` is the set of | ||
points `x` such that `‖x w‖ < f w` for all infinite places `w` (see `convexBodyLT_volume` for | ||
the computation of this volume), then there exists a nonzero algebraic number `a` in `I` such | ||
that `w a < f w` for all infinite places `w`. | ||
|
||
* `NumberField.mixedEmbedding.exists_ne_zero_mem_ideal_of_norm_le`: Let `I` be a fractional ideal | ||
of `K`. Assume that `B : ℝ` is such that `minkowskiBound K I < volume (convexBodySum K B)` where | ||
`convexBodySum K B` is the set of points `x` such that | ||
`∑ w real, ‖x w‖ + 2 * ∑ w complex, ‖x w‖ ≤ B` (see `convexBodySum_volume` for | ||
the computation of this volume), then there exists a nonzero algebraic number `a` in `I` such | ||
that `|Norm a| < (B / d) ^ d` where `d` is the degree of `K`. | ||
|
||
## Tags | ||
|
||
|
@@ -31,6 +44,7 @@ namespace NumberField.mixedEmbedding | |
|
||
open NumberField NumberField.InfinitePlace FiniteDimensional | ||
|
||
/-- The space `ℝ^r₁ × ℂ^r₂` with `(r₁, r₂)` the signature of `K`. -/ | ||
local notation "E" K => | ||
({w : InfinitePlace K // IsReal w} → ℝ) × ({w : InfinitePlace K // IsComplex w} → ℂ) | ||
|
||
|
@@ -582,6 +596,11 @@ theorem exists_primitive_element_lt_of_isComplex {w₀ : InfinitePlace K} (hw₀ | |
rw [NNReal.coe_one, Real.le_sqrt' zero_lt_one, one_pow] | ||
set_option tactic.skipAssignedInstances false in norm_num | ||
|
||
/-- Let `I` be a fractional ideal of `K`. Assume that `B : ℝ` is such that | ||
`minkowskiBound K I < volume (convexBodySum K B)` where `convexBodySum K B` is the set of points | ||
`x` such that `∑ w real, ‖x w‖ + 2 * ∑ w complex, ‖x w‖ ≤ B` (see `convexBodySum_volume` for | ||
the computation of this volume), then there exists a nonzero algebraic number `a` in `I` such | ||
that `|Norm a| < (B / d) ^ d` where `d` is the degree of `K`. -/ | ||
theorem exists_ne_zero_mem_ideal_of_norm_le {B : ℝ} | ||
(h : (minkowskiBound K I) ≤ volume (convexBodySum K B)) : | ||
∃ a ∈ (I : FractionalIdeal (𝓞 K)⁰ K), a ≠ 0 ∧ | ||
|
@@ -623,3 +642,5 @@ theorem exists_ne_zero_mem_ringOfIntegers_of_norm_le {B : ℝ} | |
exact ⟨a, ha, h_nz, h_bd⟩ | ||
|
||
end minkowski | ||
|
||
end NumberField.mixedEmbedding |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I know it's not necessary, strictly speaking, but I'd keep this line.
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.
Yes. you're right.