Skip to content

Commit 7cdbe34

Browse files
authored
feat: add schur_index_over_center (#1802)
1 parent 853a789 commit 7cdbe34

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

src/AlgAss/Ramification.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,20 @@ function schur_index(A::AbstractAssociativeAlgebra{<: NumFieldElem})
197197
return e
198198
end
199199

200+
# Can the following be done without computing the center? Not clear, since the algebra
201+
# might have locally different Schur indicies over places lying over the same place
202+
function schur_index_over_center(A::AbstractAssociativeAlgebra)
203+
C, = StructureConstantAlgebra(A)
204+
B, = _as_algebra_over_center(C)
205+
return schur_index(B)
206+
end
207+
208+
function schur_index_over_center(A::AbstractAssociativeAlgebra, p)
209+
C, = StructureConstantAlgebra(A)
210+
B, = _as_algebra_over_center(C)
211+
return schur_index(B, p)
212+
end
213+
200214
################################################################################
201215
#
202216
# Eichler condition

src/exports.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,7 @@ export scale_row!
824824
export scale_row_right!
825825
export scales
826826
export schur_index
827+
export schur_index_over_center
827828
export semi_global_minimal_model
828829
export set_assertion_level
829830
export set_var!

test/AlgAss/Ramification.jl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,23 @@
168168
P = real_embeddings(K)[1]
169169
@test Hecke.n_positive_roots(f, P) == 21
170170
end
171+
172+
# Schur index over center
173+
let
174+
K, = quadratic_field(2)
175+
A = Hecke.QuaternionAlgebra(K, K(-1), K(-1))
176+
@test schur_index(A) == 2
177+
AA, = restrict_scalars(A, QQ)
178+
@test schur_index_over_center(AA) == 2
179+
c = infinite_places(K)[1]
180+
@test schur_index_over_center(AA, c) == 2
181+
182+
K, = quadratic_field(-1)
183+
A = Hecke.QuaternionAlgebra(K, K(-1), K(-1))
184+
@test schur_index(A) == 1
185+
AA, = restrict_scalars(A, QQ)
186+
@test schur_index_over_center(AA) == 1
187+
c = infinite_places(K)[1]
188+
@test schur_index_over_center(AA, c) == 1
189+
end
171190
end

0 commit comments

Comments
 (0)