Hecke.jl icon indicating copy to clipboard operation
Hecke.jl copied to clipboard

Embeddings vs places

Open thofma opened this issue 2 years ago • 0 comments

We are a bit sloppy and not really distinguishing embeddings and infinite places. So far this has been fine. For CM types one needs to work with complex embeddings and one needs to distinguish between conjugated ones. In https://github.com/thofma/Hecke.jl/pull/490 I do this by using an infinite place and storing a flag isconjugated::Bool. But this is awkward. It is also a bit sneaky/questionable that we allow evaluate(a, P) for an infinite place P and for it to mean the image under (one of the) embedding(s) and not the image of the absolute valuation (which I believe would be the correct thing).

It really feels strange to now put the embeddings on top of the places. It should be the other way around. We should have embeddings and build the places on top of that.

It could also be that we never actually needed places in the first? It seems that the complex places are not actually used anywhere.

What are your thoughts @fieker?

Here is a proposal if we want to keep places and introduce embeddings properly:

Here is a proposal:

  1. [x] Implement embeddings "from scratch". By "from scratch" I mean not using the infrastructure for places.
  2. [ ] Swap the implementation of the places to use embeddings.
  3. [ ] If P is an infinite place, P(a) will denote |v(a)| where v is an embedding defining P. If v is an embedding, v(a) will just be the embedding (what is now evaluate).

thofma avatar Dec 18 '21 15:12 thofma