Skip to content

Commit

Permalink
Mult dep2 (#1673)
Browse files Browse the repository at this point in the history
* add test

* include

* move into 'proper' position

* fix index problem, returned too many elementary divisors

Try
  elementary_divisors(sparse_matrix(identity_matrix(ZZ, 2)))
without will give 3 EDs, the last one being 0

* update MultDep - it seems to be working "fine" now.

Needs further work on the Ge stuff and some of the internal
interface are bad.
Example
  k, a = wildanger_field(5,13);
  zk = lll(maximal_order(k))
  class_group(zk)
  h = zk.__attrs[:ClassGrpCtx]
  r = vcat(h.R_gen, h.R_rel);
  r = [x for x = r if isa(x, AbsSimpleNumFieldElem)]

  q = Main.MultDep.syzygies(r)

Then the rows of q are the relations

* reduce exponents

* I hate lin. alg.

* deal with 0 properly in lift

* add mult. group

* add stub to multiplicative group
  • Loading branch information
fieker authored Nov 12, 2024
1 parent 0299a8d commit 5341ab1
Show file tree
Hide file tree
Showing 8 changed files with 631 additions and 370 deletions.
369 changes: 0 additions & 369 deletions examples/MultDep.jl

This file was deleted.

1 change: 1 addition & 0 deletions src/Hecke.jl
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,7 @@ Base.showerror(io::IO, ::NotImplemented) =
# - The Hecke.MPolyFactor submodule wants to extend it, but is loaded earlier
# - Introduce the function here, to make everyone happy
function is_absolutely_irreducible end
function multiplicative_group end

################################################################################
#
Expand Down
3 changes: 3 additions & 0 deletions src/LocalField/Conjugates.jl
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,9 @@ end
function conjugates_log(a::FacElem{AbsSimpleNumFieldElem, AbsSimpleNumField}, C::qAdicConj, n::Int = 10; all::Bool = false, flat::Bool = true)
first = true
local res::Vector{QadicFieldElem}
if length(a.fac) == 0
res = conjugates_log(one(base_ring(parent(a))), C, n, flat = false, all = false)
end
for (k, v) = a.fac
try
y = conjugates_log(k, C, n, flat = false, all = false)
Expand Down
1 change: 1 addition & 0 deletions src/Map/NfOrd.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1087,6 +1087,7 @@ function image(mF::NfToGFMor_easy, a::FacElem{AbsSimpleNumFieldElem, AbsSimpleNu
p = mF.defining_pol
q = one(Fq)
t = mF.t
quo = gcd(quo, order(Fq)-1)
for (k, v) = a.fac
vv = v
if quo != 0
Expand Down
Loading

0 comments on commit 5341ab1

Please sign in to comment.