1. 12 Sep, 2022 1 commit
  2. 08 Sep, 2022 1 commit
  3. 07 Sep, 2022 1 commit
  4. 20 Jul, 2022 3 commits
  5. 05 Jul, 2022 1 commit
  6. 29 Jun, 2022 4 commits
  7. 23 Jun, 2022 1 commit
  8. 21 Jun, 2022 2 commits
    • Andreas Enge's avatar
      Add code to make A coprime to n in an n-system. · 054b9dc6
      Andreas Enge authored
      * scripts/shimura.gp (coprime_from_semiprimitive_polynomial): New function.
        (n_system): Call new function.
    • Andreas Enge's avatar
      Correct a bug in semiprimitive_polynomial. · 5a87f9fd
      Andreas Enge authored
      * scripts/shimura.gp (semiprimitive_polynomial): Take the gcd between
        A, B and C, without also adding n. The latter does not work when a
        prime has higher valuation in gcd (A, B, C) than in n.
        (strong_approximation): Simplify the code to not remove all primes
        dividing a, but only those occurring in n.
  9. 07 Jun, 2022 1 commit
  10. 03 Jun, 2022 1 commit
    • Andreas Enge's avatar
      Use idealchinese all the way independently of the PARI version. · 2684d9bc
      Andreas Enge authored
      It is anyway needed to correct the signs, so using it in one place makes
      things easier. Running time 258s on the large example.
      * scripts/shimura.gp (my_idealcoprime): Move to...
        (strong_approximation): ...this and let it also handle signs of
        (semiprimitive_polynomial): Call the new function to handle coprimality
        and signs simultaneously.
        (n_system): Adapt function call.
  11. 02 Jun, 2022 1 commit
    • Andreas Enge's avatar
      Move towards using n-systems. · c8c45a53
      Andreas Enge authored
      The code represents orbits by semiprimitive polynomials; for testing
      purposes modulo N=60, whereas N=1 would be enough since we work with
      modular functions for the full group. The record example takes 249s.
      * scripts/shimura.gp (my_idealcoprime, semiprimitive_polynomial,
        n_system): New functions.
        (symplectic_basis): Change prototype to work with a quadratic polynomial
        instead of a polarised ideal.
        (symplectic_bases): Use new functions.
  12. 01 Jun, 2022 2 commits
    • Andreas Enge's avatar
      Add lambda and omega to the CM field structure. · ea586ca1
      Andreas Enge authored
      * scripts/shimura.gp (init_cmfield_basic): Add two fields for lambda, a
        generator of the different of K0, and omeg, the second element of the
        integral basis of K0.
        (init_cmfield): Push CKdata and Sdata two positions further.
        (symplectic_basis): Drop parameter omeg.
        (symplectic_bases): Adapt function call.
    • Andreas Enge's avatar
      Simplify code. · 8ae3389b
      Andreas Enge authored
      * scripts/shimura.gp (bezout_vector,
        switch_ideal_basis_for_symplectic_input): Drop unused functions.
        (symplectic_basis): Remove unneeded function call.
  13. 25 May, 2022 2 commits
    • Andreas Enge's avatar
      Drop back and forth conversions of symplectic bases. · 340acd5e
      Andreas Enge authored
      * scripts/shimura.gp (symplectic_basis): Drop conversion from polynomial
        to integral basis.
        (period_matrix): Drop conversion from integral to polynomial basis.
        (reduced_period_matrix): Add comment on input.
    • Andreas Enge's avatar
      Compute period matrices from two-element relative ideal bases. · 52238920
      Andreas Enge authored
      This is a first step towards the implementation of N-systems.
      It also appears to be faster: The record example from [EnTh14] now takes
      236s instead of 335s. The output is the same as by the previous
      * scripts/shimura.gp (symplectic_transformation, symplectic_form): Remove
        (symplectic_basis): Change prototype of function and compute the
        symbolic period matrix from a basis of af as an OK0-module.
        (symplectic_bases): Adapt function call.
  14. 02 May, 2022 3 commits
    • Andreas Enge's avatar
      Modify further the definition of Krel. · b4dee6f3
      Andreas Enge authored
      * scripts/shimura.gp (init_cmfield_basic): Add the flag 1 to rnfinit.
        This makes the intention clearer, but is no functional change.
    • Andreas Enge's avatar
      Clean up definition of Krel. · da4c6113
      Andreas Enge authored
      * scripts/shimura.gp (init_cmfield_basic): Make sure to call "nfinit (Krel)"
        to enhance its internal state.
        (shimura_group_arbitrary_lift_of_ideal, shimura_group_is_element,
        shimura_group_kernel_of_norm_map): Drop explicit multiplication with
        integral basis, since now ideals in HNF also work.
    • Andreas Enge's avatar
      Remove unused code. · 690bd378
      Andreas Enge authored
      * src/borchardt.c (BorchardtMean3, BorchardtMean4): Remove public functions.
        The second one actually was declared with a different prototype.
        (BorchardtMeanOneStep, BorchardtMeanOneStepWithSigns, BorchardtMean_fast):
        Remove functions, some of which were already commented out.
      * src/cmh.h (BorchardtMean3, BorchardtMean4): Remove function declarations.
  15. 21 Oct, 2021 1 commit
  16. 25 Jun, 2021 1 commit
  17. 18 Feb, 2021 1 commit
  18. 11 Feb, 2021 4 commits
  19. 05 Feb, 2021 8 commits
    • Andreas Enge's avatar
      Add a flag to all calls of bnfisprincipal. · 5e7fb8f6
      Andreas Enge authored
      Version 2.13 of PARI has introduced compact units and modified the
      implementation of bnfisprincipal. Without using the bit "2" of the
      flag when a generator is required, the example [1521816,1234,235]
      leads to a warning and generators that are not computed.
      Regardless of this, the example causes an exception.
      * scripts/shimura.gp (reduce_type_norm,
        shimura_group_arbitrary_lift_of_ideal, shimura_group_element_is_identity,
        shimura_group_element_dlog): Add flag 0 or 3 to bnfisprincipal according
        to whether a generator is needed or not.
      * BUGS: Add example.
    • Andreas Enge's avatar
      Simplify a GP line. · c4908868
      Andreas Enge authored
      * scripts/shimura.gp (reduce_type_norm): Drop a function call that was only
        needed for an old version of PARI/GP.
    • Andreas Enge's avatar
      Do not reduce triples. · 845e7112
      Andreas Enge authored
      This effectively reverts commit 59f947fb,
      which broke the example [33, 92, 1819].
      * scripts/shimura.gp (triple_new): Drop a call to reduce_basepoint.
      * BUGS: Drop an entry.
    • Andreas Enge's avatar
      factor: Delegate a comparison to PARI. · 351c2da4
      Andreas Enge authored
      * src/factor.c (factor_trialdiv): Save a conversion to mpz_t.
    • Andreas Enge's avatar
      factor: Remove squares by trial division. · 853a9b34
      Andreas Enge authored
      * src/factor.c (mpz_remove_squares): Rewrite the function in terms of
        existing ones.
    • Andreas Enge's avatar
      Use PARI for trial division. · bddece7b
      Andreas Enge authored
      * src/factor.c (factor_trialdiv): Call PARI.
        (factor_matrix_alloc, remove_prime_power, coprime): Remove functions.
      * src/cm2.c (recognise_quadratic_coefficients): Reword warning message.
      * BUGS: Drop solved cases.
    • Andreas Enge's avatar
      factor: Make function static. · 7634fbd6
      Andreas Enge authored
      * src/factor.c (factor_matrix_fold_inner): Make function static.
    • Andreas Enge's avatar
      factor: Add initialisation function. · d633982a
      Andreas Enge authored
      * src/factor.c (factor_matrix_init): New function.
        (factor_matrix_alloc, factor_matrix_dup): Use the new function.
  20. 04 Feb, 2021 1 commit