Skip to content
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

first draft at generic tate #1144

Merged
merged 1 commit into from
Jul 28, 2023
Merged

first draft at generic tate #1144

merged 1 commit into from
Jul 28, 2023

Conversation

thofma
Copy link
Owner

@thofma thofma commented Jun 29, 2023

No description provided.

@codecov
Copy link

codecov bot commented Jun 29, 2023

Codecov Report

Patch coverage: 60.16% and project coverage change: -0.05% ⚠️

Comparison is base (4129516) 74.41% compared to head (f0d72db) 74.37%.
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1144      +/-   ##
==========================================
- Coverage   74.41%   74.37%   -0.05%     
==========================================
  Files         346      346              
  Lines      110373   110465      +92     
==========================================
+ Hits        82130    82154      +24     
- Misses      28243    28311      +68     
Files Changed Coverage Δ
src/EllCrv/Misc.jl 35.50% <0.00%> (-5.33%) ⬇️
src/EllCrv/MinimalModels.jl 71.04% <3.57%> (-6.23%) ⬇️
src/EllCrv/LocalData.jl 89.59% <97.22%> (+3.42%) ⬆️

... and 32 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@thofma thofma force-pushed the th/tate branch 2 times, most recently from 71a69d7 to 01d0d05 Compare July 27, 2023 13:32
@thofma thofma marked this pull request as ready for review July 27, 2023 13:35
@thofma
Copy link
Owner Author

thofma commented Jul 27, 2023

Tests will need Nemocas/Nemo.jl#1517.

@thofma
Copy link
Owner Author

thofma commented Jul 28, 2023

Tate should be working now for rational function fields. I have also added some tentative functions to reduce a model, which might be helpful (they are at the bottom of the file):

function reduce_model(E::EllCrv{<: AbstractAlgebra.Generic.RationalFunctionFieldElem})
  Kt = base_field(E)
  Rt = base_ring(Kt.fraction_field)
  d = discriminant(E)
  E, = minimal_model(E, degree)
  for (g, e) in factor(d, Rt)
    g = AbstractAlgebra.MPolyFactor.make_monic(g)
    E, = minimal_model(E, g)
  end
  return E
 Check warning on line 629 in src/EllCrv/MinimalModels.jl
end

function _minimize(E::EllCrv{<: AbstractAlgebra.Generic.RationalFunctionFieldElem})
  Kt = base_field(E)
  Rt = base_ring(Kt.fraction_field)
  d = discriminant(E)
  for (g, e) in factor(d, Rt)
    g = AbstractAlgebra.MPolyFactor.make_monic(g)
    E = _minimize(E, Kt(g), e)
  end
  return E
end

function _minimize(E::EllCrv, u, e)
  v = one(u)
  if abs(e) > 11
    v = u^(fdiv(ZZ(e), 12))
  end
  if -12 < e < 0
    v *= inv(u)
  end
  E, = transform_rstu(E, [0, 0, 0, v])
  return E
end

@thofma thofma merged commit 3ebfedf into master Jul 28, 2023
13 of 16 checks passed
@thofma thofma deleted the th/tate branch July 28, 2023 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant