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

new acb_theta module #1470

Merged
merged 349 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
5a67538
Separate ellipsoids in naive_all, but bug is still there
j-kieffer Jul 12, 2023
a0fe1a3
Tests pass valgrind but pb with naive_radius/naive_ellipsoid
j-kieffer Jul 12, 2023
6d097a3
Add function eld_border and test for naive_ellipsoid
j-kieffer Jul 12, 2023
2cdb840
Merge uql_const in uql, passes valgrind
j-kieffer Jul 12, 2023
cdc7756
First attempt at uql_a0
j-kieffer Jul 12, 2023
a5e12d3
uql_a0 compiles
j-kieffer Jul 12, 2023
84cf8f6
Simplify uql_a0 a bit
j-kieffer Jul 12, 2023
69835ac
Tracking bug in t-ql_a0
j-kieffer Jul 13, 2023
2c56634
t-naive_ellipsoid fails
j-kieffer Jul 13, 2023
6efdc88
Corrected bug in ql_a0, silenced prints, uql_a0 still has problems
j-kieffer Jul 13, 2023
9189a8d
Tests pass, but precision problems in Hadamard for ql_a0
j-kieffer Jul 13, 2023
f9ac941
Rename naive to naive_0b, remove naive_a0
j-kieffer Jul 18, 2023
40d0916
Remove nb_z from uql_a0
j-kieffer Jul 18, 2023
24570d4
Revert "Remove nb_z from uql_a0"
j-kieffer Jul 18, 2023
9aca424
Code for new ql_tree structure compiles
j-kieffer Jul 19, 2023
8befbea
Code for new distance function compiles
j-kieffer Jul 19, 2023
2a9cadc
Write test for ql-dist
j-kieffer Jul 19, 2023
c3d3bcf
Use ZZ^g in ellipsoids, rewrite naive_ind and naive_all, new test for…
j-kieffer Jul 19, 2023
661f729
Code and tests compile
j-kieffer Jul 19, 2023
d4c7503
Tests pass except ql_dist and uql_a0 (as expected)
j-kieffer Jul 19, 2023
df07dfb
Fix ql_sqr_dist, test passes valgrind
j-kieffer Jul 20, 2023
94d34ed
Write t-ql_cuts
j-kieffer Jul 20, 2023
d839b59
Remove useless ql_tree's
j-kieffer Jul 20, 2023
2128cfc
Write ql_new_roots
j-kieffer Jul 20, 2023
729b3d9
t-ql_new_roots passes valgrind
j-kieffer Jul 20, 2023
bf7000b
Test for ql_new_roots_aux passes valgrind
j-kieffer Jul 20, 2023
4eeb684
Add header for new ql_a0 functions
j-kieffer Jul 20, 2023
0896a24
First draft for ql_use_naive
j-kieffer Jul 21, 2023
150095e
Code compiles
j-kieffer Jul 21, 2023
d0f4216
First draft for ql_use_steps
j-kieffer Jul 21, 2023
d210e8c
Some cleanup, does not compile
j-kieffer Jul 21, 2023
15ed960
Remove files
j-kieffer Jul 21, 2023
1d5bb05
Rewrite QL algorithm; todo: tests and remove multiplicative factor e(…
j-kieffer Jul 23, 2023
ce9a552
Silence tests so that build passes
j-kieffer Jul 24, 2023
bdced6d
Tests pass valgrind up to agm_mul_tight
j-kieffer Jul 24, 2023
9bf6153
Modify ql_roots
j-kieffer Jul 24, 2023
82e3324
t-ql_step_1 passes valgrind
j-kieffer Jul 24, 2023
e630f78
t-ql_step_3 passes valgrind
j-kieffer Jul 24, 2023
969ab80
Rename ql_a0_naive to ql_a0_split, test passes valgrind
j-kieffer Jul 24, 2023
fc8b571
t-ql_a0_steps passes valgrind
j-kieffer Jul 25, 2023
8d5bae7
Correct precision bug, silence prints
j-kieffer Jul 25, 2023
a1b03c0
t-ql_a0 passes valgrind
j-kieffer Jul 25, 2023
3a80f9b
Correct another precision bug
j-kieffer Jul 25, 2023
cd21bfc
Code compiles with some interface changes; todo: rerun tests and test…
j-kieffer Jul 25, 2023
33f8b9f
Use built-in naive for genus 1; bug in ql_a0_steps
j-kieffer Jul 26, 2023
2d975c2
t-ql_all_sqr passes valgrind
j-kieffer Jul 26, 2023
c99ca80
Code for all_sqr compiles
j-kieffer Jul 26, 2023
4893a59
Write tests for transformations
j-kieffer Jul 26, 2023
7a70046
All tests pass valgrind
j-kieffer Jul 26, 2023
f017469
Cosmetic changes, start splitting a0_split
j-kieffer Jul 26, 2023
52bc083
Fix bug in transform_k2, newlines in tests, _arb_vec_printd
j-kieffer Jul 27, 2023
79faf77
Start derivatives
j-kieffer Jul 27, 2023
3fc5564
Aborted strategy for naive_all_jet
j-kieffer Jul 27, 2023
e251c5f
Merge branch 'flintlib:trunk' into acb_theta
j-kieffer Aug 21, 2023
fa2b9df
Rewrote all_jet
j-kieffer Aug 21, 2023
d40c2c4
theta_all
j-kieffer Aug 23, 2023
e0ec2bb
More code for jet_all, rename deriv -> jet
j-kieffer Aug 23, 2023
c975703
Code compiles; todo: test
j-kieffer Aug 24, 2023
0a994bd
Factor out acb_sqrts, rewrite sqrtdet
j-kieffer Aug 24, 2023
f57b173
Make mat first argument of transform functions
j-kieffer Aug 25, 2023
6094fe4
Change naive_radius interface to speed up theta_naive on small eigenv…
j-kieffer Aug 25, 2023
7c53228
Further interface changes
j-kieffer Aug 25, 2023
f63dec6
Correct sign bug in transform_char
j-kieffer Aug 25, 2023
ef0fc23
Start testing, todo: test naive_fixed_a
j-kieffer Aug 25, 2023
9ba07e2
Fix ql_all, test passes valgrind
j-kieffer Aug 28, 2023
cca79bf
t-transform passes valgrind
j-kieffer Aug 28, 2023
20a5996
Reduction in theta_all, fix naive_radius
j-kieffer Sep 5, 2023
f9b0f47
t-jet_bounds passes valgrind
j-kieffer Sep 5, 2023
4eeb0fe
t-jet_fourier passes valgrind
j-kieffer Sep 6, 2023
b8f11b7
Some rewriting, t-jet_fd compiles
j-kieffer Sep 6, 2023
bf74289
Error on bounds in jet_fd
j-kieffer Sep 6, 2023
69ba013
t-jet_fd passes valgrind
j-kieffer Sep 7, 2023
9f6c148
Code compiles with new jet_bounds_2 function; todo: test
j-kieffer Sep 7, 2023
7360607
Write t-spd_radius
j-kieffer Sep 7, 2023
882055a
t-spd_radius passes valgrind
j-kieffer Sep 8, 2023
ba82296
t-jet_bounds_2 passes valgrind
j-kieffer Sep 8, 2023
ff859c9
Rewrite jet_all with error bounds
j-kieffer Sep 8, 2023
125e8c1
t-jet_naive_all passes valgrind; had to modify naive_reduce
j-kieffer Sep 8, 2023
bf30951
Rewrite jet_naive_all with jet_ellipsoid, code compiles
j-kieffer Sep 11, 2023
271ed2f
t-jet_all passes valgrind, but sometimes no overlap in agm (!)
j-kieffer Sep 11, 2023
c1f8904
Less iterations in some tests
j-kieffer Sep 11, 2023
dac9944
Add genus 2 specifics
j-kieffer Sep 12, 2023
7a09adb
Write test, fix infinite bounds in ql_all_sqr
j-kieffer Sep 12, 2023
4a7188d
Fix char_is_even and g2_chi6m2
j-kieffer Sep 13, 2023
5cc437a
Write and test g2_covariants
j-kieffer Sep 13, 2023
6d03050
Write and test g2_covariant
j-kieffer Sep 13, 2023
b6ba759
Transfer Hecke functionality in library
j-kieffer Sep 15, 2023
a9811c7
Remove cube functions
j-kieffer Sep 15, 2023
047659a
Add tests, start alternative method for basic covariants
j-kieffer Sep 16, 2023
b11ad2c
Compute covariants with transvectants
j-kieffer Sep 17, 2023
129336b
Use low precision in siegel_reduce
j-kieffer Sep 18, 2023
43514f3
Test naive_00, precompute stuff in slash_basic_covariants
j-kieffer Sep 18, 2023
a651bfb
Compute only leading terms of covariants; use acb_dot in naive_worker…
j-kieffer Sep 18, 2023
bd20da8
Use worker_dim1 in naive_worker_new, better naive_0b
j-kieffer Sep 19, 2023
74b4df6
Add prec as argument of worker_dim1, adapt jet_naive functions
j-kieffer Sep 19, 2023
bf962ce
Add acb_dot strategy in g2_jet_naive_1
j-kieffer Sep 20, 2023
d6b089e
Use worker_dim1 instead of worker_dim0 everywhere
j-kieffer Sep 20, 2023
2486569
Add more arguments to ql_a0_steps for profiling
j-kieffer Sep 20, 2023
c3d0b72
Write profiling code for ql_a0_steps, increase prec in siegel_reduce
j-kieffer Sep 20, 2023
68f1eb4
First draft of new ql_roots function
j-kieffer Sep 21, 2023
566e2da
Remove worse version of ql_roots_1; manage precision losses in ql_a0
j-kieffer Sep 21, 2023
4e4ff0a
Write p-ql_a0, but error bound is still too large
j-kieffer Sep 21, 2023
e93e567
Corrected precision bug in naive_newprec
j-kieffer Sep 22, 2023
ce8afb5
Write and test acb_theta_jet_error_bounds
j-kieffer Sep 22, 2023
00c8a5d
Fix midpoint bug in ql_a0
j-kieffer Sep 22, 2023
81f3c9d
Use midpoints in ql_all
j-kieffer Sep 22, 2023
d0b3f56
Profile ql_a0_split, change parameters in ql_a0, todo: investigate pr…
j-kieffer Sep 22, 2023
59daa86
Track down precision bugs in ql_a0; use derivatives for error bounds;…
j-kieffer Sep 26, 2023
ff4e265
Remove unnecessary things from library, clean up white space
j-kieffer Sep 26, 2023
f143ed0
Merge branch 'flintlib:trunk' into acb_theta
j-kieffer Sep 26, 2023
bf3f95c
Changes according to documentation
j-kieffer Sep 28, 2023
902f2d0
Small changes according to documentation
j-kieffer Sep 30, 2023
49d9a79
Changes according to documentation
j-kieffer Oct 2, 2023
7b427d8
Changes according to documentation
j-kieffer Oct 2, 2023
87a5257
Naming changes according to documentation
j-kieffer Oct 3, 2023
aa34796
Naming changes according to documentation
j-kieffer Oct 3, 2023
1bcd7b8
Naming changes according to documentation
j-kieffer Oct 4, 2023
75fdaea
Further naming changes
j-kieffer Oct 4, 2023
5457c35
Code compiles, still have to rewrite/compile/run tests
j-kieffer Oct 4, 2023
fc91e3d
Whitespace in profiling code
j-kieffer Oct 5, 2023
5cf7b12
Naming changes in tests
j-kieffer Oct 5, 2023
dbec332
Tests compile, restore naive_term
j-kieffer Oct 5, 2023
4df1554
Write t-vector_mul in acb_mat, remove is_(non)symmetric
j-kieffer Oct 5, 2023
904458d
Hide siegel_reduce_real/imag
j-kieffer Oct 6, 2023
cb37e19
Add tests and some documentation
j-kieffer Oct 6, 2023
821016b
Modify and add tests according to documentation
j-kieffer Oct 10, 2023
c0c1eb1
Code compiles
j-kieffer Oct 10, 2023
50d0de6
Change iteration numbers in tests up to siegel_randtest_nice
j-kieffer Oct 10, 2023
26d06f4
Tests pass valgrind up to precomp_set
j-kieffer Oct 10, 2023
bb30f9c
Tests pass valgrind up to naive_all
j-kieffer Oct 10, 2023
895c2ac
Tests pass valgrind up to jet_error_bounds
j-kieffer Oct 10, 2023
e010e10
Smaller dimension in t-dist
j-kieffer Oct 10, 2023
3b1fe7f
Cheaper tests in agm
j-kieffer Oct 10, 2023
3d18f20
Tests pass valgrind up to ql_dupl
j-kieffer Oct 10, 2023
04521bc
Tests pass valgrind up to ql_a0
j-kieffer Oct 10, 2023
342b0c7
Replace a1 by n1 in ql_reduce
j-kieffer Oct 10, 2023
7c2bde5
Use windows instead of sp2gz_get_a, write arb_mat_spd_is_lll_reduced,…
j-kieffer Oct 11, 2023
6a4782e
New spd tests pass valgrind
j-kieffer Oct 11, 2023
58ce6c5
Write siegel_is_reduced, test passes valgrind
j-kieffer Oct 11, 2023
588b615
t-ql_reduce passes valgrind
j-kieffer Oct 11, 2023
3aed254
Tests pass valgrind up to t-all
j-kieffer Oct 11, 2023
2142463
Use acb_dft_prod instead of jet_fourier
j-kieffer Oct 11, 2023
25bd44c
Tests pass valgrind up to jet_all
j-kieffer Oct 11, 2023
1111817
Tests pass valgrind up to g2_transvectant, todo: fix g2_transvectant_…
j-kieffer Oct 11, 2023
906537b
Tests pass valgrind up to g2_psi6; implement direct strategy in naive…
j-kieffer Oct 12, 2023
a0f0fd7
Fix g2_sextic
j-kieffer Oct 12, 2023
2f90ed4
Merge remote-tracking branch 'upstream/trunk' into acb_theta
j-kieffer Oct 13, 2023
78f8b91
Pull changes on pre_acb_theta
j-kieffer Oct 13, 2023
3170e58
Stronger siegel_reduce and siegel_is_reduced
j-kieffer Oct 13, 2023
2925d76
Call sqrtdet in transform only if sqr=0
j-kieffer Oct 13, 2023
925498b
No arb_mat_is_(non)symmetric
j-kieffer Oct 13, 2023
6212ead
Write transform_sqrtdet_new, start sp2gz_decompose, not finished
j-kieffer Oct 13, 2023
3bf451a
Pull files from pre_acb_theta
j-kieffer Oct 17, 2023
78c83e9
Write t-sp2gz_decompose, fix compilation errors
j-kieffer Oct 17, 2023
ed5975e
Fix sp2gz_decompose, add sp2gz_embed and sp2gz_restrict, todo: better…
j-kieffer Oct 17, 2023
6705afb
Start better version of sp2gz_decompose
j-kieffer Oct 17, 2023
2e34ad1
Better sp2gz_decompose and sp2gz_randtest
j-kieffer Oct 18, 2023
eca3caa
Start transform_kappa_new
j-kieffer Oct 18, 2023
643be79
transform_kappa_new is working
j-kieffer Oct 19, 2023
1fa4f07
Remove old transform_sqrtdet, transform_kappa
j-kieffer Oct 19, 2023
6c52bd5
Remove _new
j-kieffer Oct 19, 2023
6620511
More iterations in g2 tests with better transform_kappa
j-kieffer Oct 19, 2023
9cdd2a7
Remove naive_00_direct
j-kieffer Oct 19, 2023
eff9bee
Modify acb_sqrts as in pre_acb_theta
j-kieffer Oct 19, 2023
46046ce
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Oct 19, 2023
02e4cb8
Documentation up to ellipsoid macros, some cosmetic changes
j-kieffer Oct 19, 2023
f58b0b5
Documentation up to jet_naive
j-kieffer Oct 20, 2023
faf945b
Documentation up to ql_all_sqr
j-kieffer Oct 20, 2023
5f17965
Documentation up to jet_all, todo: transformation formula for derivat…
j-kieffer Oct 20, 2023
2142875
Finish formatting documentation
j-kieffer Oct 20, 2023
0229600
Fix references
j-kieffer Oct 20, 2023
d7c2861
Remove old agm_sqr
j-kieffer Oct 20, 2023
eaa1773
Change agm_sqrt and test for more coverage
j-kieffer Oct 20, 2023
10027dd
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Oct 20, 2023
bcc6f40
Change acb_theta_all and test slightly for more coverage
j-kieffer Oct 20, 2023
e340ad9
Rewrite some tests to improve coverage, todo: code snippet in doc, ma…
j-kieffer Oct 20, 2023
b0fba27
Add code snippet in doc, fix compilation errors, t-siegel_is_reduced …
j-kieffer Oct 24, 2023
1a9f42d
Add result of theta_all in doc
j-kieffer Oct 24, 2023
d8748d5
New functions jet_mul and jet_all
j-kieffer Oct 25, 2023
2b88bcf
t-jet_mul passes valgrind
j-kieffer Oct 25, 2023
328b4af
t-jet_compose passes valgrind
j-kieffer Oct 25, 2023
84d94a4
t-jet_all passes valgrind, todo: quick profile, documentation
j-kieffer Oct 25, 2023
e9941ca
Return infinite result on phony input in ql_reduce
j-kieffer Oct 25, 2023
1eeeaba
Documentation for new functions jet_mul, jet_compose, jet_(ql_)all
j-kieffer Oct 26, 2023
43f834b
Fix documentation: "make" works, add new functions
j-kieffer Oct 26, 2023
14be4cf
No acb_theta_transform, faster t-g2_sextic
j-kieffer Oct 26, 2023
837c8b8
No arb_mat_bilinear_form
j-kieffer Oct 26, 2023
f64ec23
Make eld_interval static in eld_fill
j-kieffer Oct 26, 2023
9b07158
Rename jet_ellipsoid to jet_naive_ellipsoid
j-kieffer Oct 26, 2023
a1fbcb6
Make agm_rel_mag_err static in agm_mul_tight
j-kieffer Oct 26, 2023
8efdd57
Remove ql_log_rescale, create siegel_yinv, rename eld_cho to siegel_cho
j-kieffer Oct 27, 2023
9782fd3
Make ql_nb_steps static in ql_a0
j-kieffer Oct 27, 2023
af7fd73
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Oct 27, 2023
9a3af7a
Fix t-agm_sqrt
j-kieffer Oct 27, 2023
71b6207
Add acb_theta in CMakeLists (?)
j-kieffer Oct 27, 2023
faf4030
Safer arb_mat_spd_is_lll_reduced
j-kieffer Oct 27, 2023
8d30a09
Safer naive_reduce
j-kieffer Oct 27, 2023
abb79a4
Replace eld_fill by safer function eld_set, make naive_fullprec stati…
j-kieffer Oct 27, 2023
dd7443f
Remove argument C in naive_reduce
j-kieffer Oct 27, 2023
f9f6df7
No naive_ellipsoid, less arguments to naive_worker
j-kieffer Oct 27, 2023
7f99c08
No jet_naive_ellipsoid, create naive_reduce_jet, move test from t-jet…
j-kieffer Oct 27, 2023
7b58742
Improve dist_lat when ellipsoid fails, fix sign in documentation
j-kieffer Oct 27, 2023
14eb6d9
No acb_theta_precomp_t structure
j-kieffer Oct 28, 2023
b150952
Safer dist_addprec
j-kieffer Oct 28, 2023
129a421
Make ql_roots and ql_step_1/2/3 static in ql_a0_steps
j-kieffer Oct 28, 2023
9b7bc2e
Merge ql_all and ql_all_sqr, make ql_dupl static in that file, faster…
j-kieffer Oct 28, 2023
2877049
Return union of roots if transform_sqrtdet fails
j-kieffer Oct 28, 2023
ce38d83
Make ACB_THETA_QL_TRY private
j-kieffer Oct 28, 2023
0b4cde5
Rename jet_ql functions
j-kieffer Oct 28, 2023
d521e42
Use fmpz_set_str to avoid overflow in g2_covariants
j-kieffer Oct 28, 2023
bb7bdb2
Typos in doc
j-kieffer Oct 28, 2023
669e772
Three one-line bug fixes
j-kieffer Oct 30, 2023
cb4df77
Rewrite code and tests for more coverage
j-kieffer Oct 30, 2023
930235f
Use double instead of char* in g2_covariants
j-kieffer Oct 30, 2023
c85fde3
Various bug fixes
j-kieffer Oct 31, 2023
b884866
Better randtest functions, update tests
j-kieffer Oct 31, 2023
0e9e6b6
Use naive_reduce in jets, new function jet_exp_pi_i
j-kieffer Oct 31, 2023
7717c4d
Delete naive_reduce_jet
j-kieffer Oct 31, 2023
df881ea
Tests pass again
j-kieffer Oct 31, 2023
6471bb8
Fix ql_reduce
j-kieffer Oct 31, 2023
f671525
Unnecessary variable in ql_reduce
j-kieffer Oct 31, 2023
6517597
No inversions in naive_worker
j-kieffer Oct 31, 2023
b9edbd1
Update doc, more careful reduction, yet more coverage (?)
j-kieffer Oct 31, 2023
bff4045
Fix memory leak in g2_jet_naive_1
j-kieffer Nov 6, 2023
46a3423
Add g2_character and g2_sextic_chi5
j-kieffer Nov 9, 2023
924fa1b
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Nov 9, 2023
0015dca
Remove t-bilinear_form form arb_mat/test/main
j-kieffer Nov 9, 2023
807a5c3
Change tab to space in Makefile.in
albinahlback Nov 9, 2023
65e2375
Unify acb_theta tests
albinahlback Nov 9, 2023
b8900bf
Correct style for pointers in acb_theta.h
j-kieffer Nov 9, 2023
92a37eb
Correct formatting for pointers
j-kieffer Nov 10, 2023
984e23c
Fix parentheses in doc
j-kieffer Nov 10, 2023
ca7dcbf
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Nov 10, 2023
0593be0
Better includes
j-kieffer Nov 10, 2023
767bc8a
Arb->FLINT in copyright notices
j-kieffer Nov 10, 2023
1cf54ec
Add some missing consts, update acb_theta/profile
j-kieffer Nov 10, 2023
701c318
More function names on newlines
j-kieffer Nov 10, 2023
f890458
Add checks to prevent negative mallocs, update documentation
j-kieffer Nov 10, 2023
0bebce9
Restore ql_a0_nb_steps for use in profilinc code
j-kieffer Nov 10, 2023
23b22d2
More function names on newlines
j-kieffer Nov 10, 2023
066c19e
FLINT is free software, not Arb
j-kieffer Nov 10, 2023
47d5825
Always g>=1 in tests
j-kieffer Nov 10, 2023
f7e3222
Not necessarily ord>=0 in jet_nb
j-kieffer Nov 10, 2023
71d2a46
Documentation for test+profile
j-kieffer Nov 15, 2023
f3e04cb
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Nov 15, 2023
4012adc
Replace __inline__ by inline in acb_theta.h
j-kieffer Nov 15, 2023
ec26f2e
Improvements for g=1
j-kieffer Nov 21, 2023
79de6fc
Merge branch 'trunk' of github.com:flintlib/flint into acb_theta
j-kieffer Nov 21, 2023
172f80b
http -> https
j-kieffer Nov 21, 2023
6cb8fe8
Typo in doc
j-kieffer Nov 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ set(_BUILD_DIRS
acb_mat acb_poly acb_calc acb_hypgeom
arb_fmpz_poly arb_fpwrap
acb_dft acb_elliptic acb_modular acb_dirichlet
dirichlet bernoulli hypgeom
acb_theta dirichlet bernoulli hypgeom

gr gr_generic gr_vec gr_mat
gr_poly gr_mpoly gr_special
Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ HEADER_DIRS := \
acb_mat acb_poly acb_calc acb_hypgeom \
arb_fmpz_poly arb_fpwrap \
acb_dft acb_elliptic acb_modular acb_dirichlet \
dirichlet bernoulli hypgeom \
acb_theta dirichlet bernoulli hypgeom \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Contains two tabs instead of spaces. Not that important. This is fixed in my commit albinahlback@807a5c3

\
gr gr_generic gr_vec gr_mat \
gr_poly gr_mpoly gr_special \
Expand Down
1,540 changes: 1,540 additions & 0 deletions doc/source/acb_theta.rst

Large diffs are not rendered by default.

23 changes: 8 additions & 15 deletions doc/source/arb_mat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -403,12 +403,6 @@ Vector arithmetic

The underscore methods do not allow aliasing between *res* and *v*.

.. function:: void arb_mat_bilinear_form(arb_t x, const arb_mat_t A, arb_srcptr v1, arb_srcptr v2, slong prec)

Sets *res* to the product `v_1^T A v_2`, where `v_1` and `v_2` are seen as
column vectors. The lengths of the vectors must match the dimensions of
*A*.

Gaussian elimination and solving
-------------------------------------------------------------------------------

Expand Down Expand Up @@ -804,18 +798,17 @@ LLL reduction

.. function:: void arb_mat_spd_lll_reduce(fmpz_mat_t U, const arb_mat_t A, slong prec)

Given a symmetric positive definite matrix *A*, compute a unimodular
transformation *U* such that *U^T A U* is close to being LLL-reduced. If
Given a symmetric positive definite matrix *A*, sets *U* to an invertible
matrix such that `U^T A U` is close to being LLL-reduced. If
:func:`arb_mat_spd_get_fmpz_mat` succeeds at the chosen precision, we call
:func:`fmpz_lll`, and otherwise set *U* to the identity matrix. The
warnings of :func:`arf_get_fmpz` apply.

.. function:: int arb_mat_spd_is_lll_reduced(const arb_mat_t A, slong tol_exp, slong prec)

Returns nonzero iff *A* is LLL-reduced with a tolerance of `\varepsilon =
2^{tol\_exp}`. This means the following. First, the error radius on
each entry of *A* must be at most `\varepsilon/16`. Then we consider the
matrix whose entries are `2^{\mathit{prec}}(1 + \varepsilon)^{i + j}
A_{i,j}` rounded to integers: it must be positive definite and pass
:func:`fmpz_mat_is_reduced` with default parameters. The warnings of
:func:`arf_get_fmpz` apply.
Given a symmetric positive definite matrix *A*, returns nonzero iff *A* is
certainly LLL-reduced with a tolerance of `\varepsilon = 2^{tol\_exp}`,
meaning that it satisfies the inequalities `|\mu_{j,k}|\leq \eta +
\varepsilon` and `(\delta - \varepsilon) \lVert b_{k-1}^*\rVert^2 \leq
\lVert b_k^*\rVert^2 + \mu_{k,k-1}^2 \lVert b_{k-1}^*\rVert^2` (with the
usual notation) for the default parameters `\eta = 0.51`, `\delta = 0.99`.
1 change: 1 addition & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ Real and complex numbers
arb_hypgeom.rst
acb_elliptic.rst
acb_modular.rst
acb_theta.rst
acb_dirichlet.rst
bernoulli.rst
hypgeom.rst
Expand Down
1 change: 1 addition & 0 deletions doc/source/index_arb.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
arb_hypgeom.rst
acb_elliptic.rst
acb_modular.rst
acb_theta.rst
dirichlet.rst
acb_dirichlet.rst
bernoulli.rst
Expand Down
28 changes: 27 additions & 1 deletion doc/source/references.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ References

.. [Bog2012] \I. Bogaert, B. Michiels and J. Fostier, "O(1) computation of Legendre polynomials and Gauss-Legendre nodes and weights for parallel computing", SIAM Journal on Scientific Computing 34:3 (2012), C83-C101

.. [Bol1887] \O. Bolza, "Darstellung der rationalen ganzen Invarianten der Binärform sechsten Grades durch die Nullwerthe der zugehörigen Theta-Functionen", Math. Ann. 30:4 (1887), 478--495. https://doi.org/10.1007/BF01444091

.. [Bor1987] \P. Borwein, "Reduced complexity evaluation of hypergeometric functions", Journal of Approximation Theory 50:3 (1987)

.. [Bor2000] \P. Borwein, "An Efficient Algorithm for the Riemann Zeta Function", Constructive experimental and nonlinear analysis, CMS Conference Proc. 27 (2000) 29-34, http://www.cecm.sfu.ca/personal/pborwein/PAPERS/P155.pdf
Expand All @@ -61,6 +63,10 @@ References

.. [BuhlerCrandallSompolski1992] \Buhler, J.P. and Crandall, R.E. and Sompolski, R.W. : Irregular primes to one million : Math. Comp. 59:2000 (1992) 717--722

.. [CFG2017] \F. Cléry, C. Faber, and G. van der Geer. "Covariants of binary sextics and vector-valued Siegel modular forms of genus two", Math. Ann. 369 (2017), 1649--1669. https://doi.org/10.1007/s00208-016-1510-2

.. [CFG2019] \F. Cléry, C. Faber, and G. van der Geer. "Covariants of binary sextics and modular forms of degree 2 with character", Math. Comp. 88 (2019), 2423--2441. https://doi.org/10.1090/mcom/3412

.. [CGHJK1996] \R. M. Corless, G. H. Gonnet, D. E. Hare, D. J. Jeffrey and D. E. Knuth, "On the Lambert W function", Advances in Computational Mathematics, 5(1) (1996), 329-359

.. [CP2005] \R. Crandall and C. Pomerance, *Prime Numbers: A Computational Perspective*, second edition, Springer (2005).
Expand All @@ -81,6 +87,8 @@ References

.. [CraPom2005] \Richard Crandall and Carl Pomerance: Prime numbers: a computational perspective. 2005.

.. [DHBHS2004] \B. Deconinck, M. Heil, A. Bobenko, M. van Hoeij, and M. Schmies, "Computing Riemann theta functions", Math. Comp. 73:247 (2004), 1417--1442. https://arxiv.org/abs/nlin/0206009

.. [DYF1999] \A. Dzieciol, S. Yngve and P. O. Fröman, "Coulomb wave functions with complex values of the variable and the parameters", J. Math. Phys. 40, 6145 (1999), https://doi.org/10.1063/1.533083

.. [DelegliseNicolasZimmermann2009] \Deleglise, Marc and Niclas, Jean-Louis and Zimmermann, Paul : Landau's function for one million billions, J. Théor. Nombres Bordeaux 20:3 (2009) 625--671
Expand All @@ -95,6 +103,8 @@ References

.. [EM2004] \O. Espinosa and V. Moll, "A generalized polygamma function", Integral Transforms and Special Functions (2004), 101-115.

.. [EK2023] \N. D. Elkies and J. Kieffer, "A uniform quasi-linear time algorithm for evaluating theta functions in any dimension", in preparation.

.. [Fie2007] \C. Fieker, "Sparse representation for cyclotomic fields". Experiment. Math. Volume 16, Issue 4 (2007), 493-500. https://doi.org/10.1080/10586458.2007.10129012

.. [FieHof2014] \Fieker C. and Hofmann T.: "Computing in quotients of rings of integers" LMS Journal of Computation and Mathematics, 17(A), 349-365
Expand All @@ -111,6 +121,8 @@ References

.. [Gas2018] \D. Gaspard, "Connection formulas between Coulomb wave functions" (2018), https://arxiv.org/abs/1804.10976

.. [Got1959] \E. Gottschling, "Explizite Bestimmung der Randflächen es Fundamentalbereiches der Modulgruppe zweiten Grades'', Math. Annalen 138 (1959), 103--124. https://doi.org/10.1007/BF01342938

.. [GowWag2008] \Jason Gower and Sam Wagstaff : "Square form factoring" Math. Comp. 77, 2008, pp 551-588, https://doi.org/10.1090/S0025-5718-07-02010-8

.. [GraMol2010] \Torbjorn Granlund and Niels Moller : Improved Division by Invariant Integers https://gmplib.org/~tege/division-paper.pdf
Expand Down Expand Up @@ -143,6 +155,10 @@ References

.. [Iliopoulos1989] \Iliopoulos, C. S., Worst-Case Complexity Bounds on Algorithms for Computing the Canonical Structure of Finite Abelian Groups and the Hermite and Smith Normal Forms of an Integer Matrix : SIAM J. Computation 18:4 (1989) 658

.. [Igu1972] \J.-I. Igusa. *Theta functions*, Springer, 1972. https://doi.org/10.1007/978-3-642-65315-5

.. [Igu1979] \J.-I. Igusa, "On the ring of modular forms of degree two over Z", Amer. J. Math. 101:1 (1979), 149--183. https://doi.org/10.2307/2373943

.. [JB2018] \F. Johansson and I. Blagouchine. "Computing Stieltjes constants using complex integration", preprint (2018), https://arxiv.org/abs/1804.01679

.. [JM2018] \F. Johansson and M. Mezzarobba, "Fast and rigorous arbitrary-precision computation of Gauss-Legendre quadrature nodes and weights", preprint (2018), https://arxiv.org/abs/1802.03948
Expand Down Expand Up @@ -189,10 +205,14 @@ References

.. [Kri2013] \A. Krishnamoorthy and D. Menon, "Matrix Inversion Using Cholesky Decomposition" Proc. of the International Conference on Signal Processing Algorithms, Architectures, Arrangements, and Applications (SPA-2013), pp. 70-72, 2013.

.. [LT2016] \H. Labrande and E. Thomé, "Computing theta functions in quasi-linear time in genus 2 and above", ANTS XII, Kaiserslautern, LMS J. Comp. Math 19 (2016), 163--177. https://doi.org/10.1112/S1461157016000309

.. [Leh1970] \R. S. Lehman, "On the Distribution of Zeros of the Riemann Zeta-Function", Proc. of the London Mathematical Society 20(3) (1970), 303-320, https://doi.org/10.1112/plms/s3-20.2.303

.. [LukPatWil1996] \R. F. Lukes and C. D. Patterson and H. C. Williams "Some results on pseudosquares" Math. Comp. 1996, no. 65, 361--372

.. [MN2019] \P. Molin and C. Neurohr, "Computing period matrices and the Abel--Jacobi map of superelliptic curves", Math. Comp. 88:316 (2019), 847--888.

.. [MP2006] \M. Monagan and R. Pearce. "Rational simplification modulo a polynomial ideal". Proceedings of the 2006 international symposium on Symbolic and algebraic computation - ISSAC '06. https://doi.org/10.1145/1145768.1145809

.. [MPFR2012] The MPFR team, "MPFR Algorithms" (2012), http://www.mpfr.org/algo.html
Expand All @@ -207,6 +227,10 @@ References

.. [Mul2000] \Thom Mulders : On Short Multiplications and Divisions, AAECC vol. 11 (2000) 69--88

.. [Mum1983] \D. Mumford, *Tata Lectures on Theta I*, Birkhäuser, 1983. https://doi.org/10.1007/978-1-4899-2843-6

.. [Mum1984] \D. Mumford, *Tata Lectures on Theta II*, Birkhäuser, 1984. https://doi.org/10.1007/978-0-8176-4578-6

.. [NIST2012] National Institute of Standards and Technology, *Digital Library of Mathematical Functions* (2012), http://dlmf.nist.gov/

.. [NakTurWil1997] \Nakos, George and Turner, Peter and Williams, Robert : Fraction-free algorithms for linear and polynomial equations, ACM SIGSAM Bull. 31 (1997) 3 11--19
Expand Down Expand Up @@ -263,6 +287,8 @@ References

.. [StoMul1998] \Storjohann, Arne and Mulders, Thom : Fast algorithms for linear algebra modulo :math:`N` : Algorithms---{ESA} '98 (Venice), Lecture Notes in Comput. Sci. 1461 139--150

.. [Str2014] \M. Streng, "Computing Igusa class polynomials", Math. Comp. 83:285 (2014), 275--309. https://doi.org/10.1090/S0025-5718-2013-02712-3

.. [Str1997] \A. Strzebonski. "Computing in the field of complex algebraic numbers". Journal of Symbolic Computation (1997) 24, 647-656. https://doi.org/10.1006/jsco.1997.0158

.. [Str2012] \A. Strzebonski. "Real root isolation for exp-log-arctan functions". Journal of Symbolic Computation 47 (2012) 282–314. https://doi.org/10.1016/j.jsc.2011.11.004
Expand Down Expand Up @@ -297,4 +323,4 @@ References

.. [vdH2006] \J. van der Hoeven, "Computations with effective real numbers". Theoretical Computer Science, Volume 351, Issue 1, 14 February 2006, Pages 52-60. https://doi.org/10.1016/j.tcs.2005.09.060

All referenced works: [AbbottBronsteinMulders1999]_, [Apostol1997]_, [Ari2011]_, [Ari2012]_, [Arn2010]_, [ArnoldMonagan2011]_, [BBC1997]_, [BBC2000]_, [BBK2014]_, [BD1992]_, [BF2020]_, [BFSS2006]_, [BJ2013]_, [BM1980]_, [BZ1992]_, [BZ2011]_, [BaiWag1980]_, [BerTas2010]_, [Blo2009]_, [Bodrato2010]_, [Boe2020]_, [Bog2012]_, [Bor1987]_, [Bor2000]_, [Bre1978]_, [Bre1979]_, [Bre2010]_, [BrentKung1978]_, [BuhlerCrandallSompolski1992]_, [CGHJK1996]_, [CP2005]_, [Car1995]_, [Car2004]_, [Chen2003]_, [Cho1999]_, [Coh1996]_, [Coh2000]_, [Col1971]_, [CraPom2005]_, [DYF1999]_, [DelegliseNicolasZimmermann2009]_, [DomKanTro1987]_, [Dup2006]_, [Dus1999]_, [EHJ2016]_, [EM2004]_, [Fie2007]_, [FieHof2014]_, [Fil1992]_, [GCL1992]_, [GG2003]_, [GS2003]_, [GVL1996]_, [Gas2018]_, [GowWag2008]_, [GraMol2010]_, [HM2017]_, [HS1967]_, [HZ2004]_, [HanZim2004]_, [Har2010]_, [Har2012]_, [Har2015]_, [Har2018]_, [Hart2010]_, [Hen1956]_, [Hoe2001]_, [Hoe2009]_, [Hor1972]_, [Iliopoulos1989]_, [JB2018]_, [JM2018]_, [JR1999]_, [Joh2012]_, [Joh2013]_, [Joh2014a]_, [Joh2014b]_, [Joh2014c]_, [Joh2015]_, [Joh2015b]_, [Joh2016]_, [Joh2017]_, [Joh2017a]_, [Joh2017b]_, [Joh2018a]_, [Joh2018b]_, [JvdP2002]_, [Kahan1991]_, [KanBac1979]_, [Kar1998]_, [Knu1997]_, [Kob2010]_, [Kri2013]_, [Leh1970]_, [LukPatWil1996]_, [MP2006]_, [MPFR2012]_, [MasRob1996]_, [Mic2007]_, [Miy2010]_, [Mos1971]_, [Mul2000]_, [NIST2012]_, [NakTurWil1997]_, [Olv1997]_, [PP2010]_, [PS1973]_, [PS1991]_, [Paterson1973]_, [PernetStein2010]_, [Pet1999]_, [Pla2011]_, [Pla2017]_, [RF1994]_, [Rad1973]_, [Rademacher1937]_, [Ric1992]_, [Ric1995]_, [Ric1997]_, [Ric2007]_, [Ric2009]_, [RosSch1962]_, [Rum2010]_, [Smi2001]_, [SorWeb2016]_, [Ste2002]_, [Ste2010]_, [Stehle2010]_, [Stein2007]_, [Sut2007]_, [StoMul1998]_, [Str1997]_, [Str2012]_, [Tak2000]_, [ThullYap1990]_, [Tre2008]_, [Tru2011]_, [Tru2014]_, [Tur1953]_, [Villard2007]_, [WaktinsZeitlin1993]_, [Wei2000]_, [Whiteman1956]_, [Zip1985]_, [vHP2012]_, [vdH1995]_, [vdH2006]_
All referenced works: [AbbottBronsteinMulders1999]_, [Apostol1997]_, [Ari2011]_, [Ari2012]_, [Arn2010]_, [ArnoldMonagan2011]_, [BBC1997]_, [BBC2000]_, [BBK2014]_, [BD1992]_, [BF2020]_, [BFSS2006]_, [BJ2013]_, [BM1980]_, [BZ1992]_, [BZ2011]_, [BaiWag1980]_, [BerTas2010]_, [Blo2009]_, [Bodrato2010]_, [Boe2020]_, [Bog2012]_, [Bol1887]_, [Bor1987]_, [Bor2000]_, [Bre1978]_, [Bre1979]_, [Bre2010]_, [BrentKung1978]_, [BuhlerCrandallSompolski1992]_, [CFG2017]_, [CFG2019]_, [CGHJK1996]_, [CP2005]_, [Car1995]_, [Car2004]_, [Chen2003]_, [Cho1999]_, [Coh1996]_, [Coh2000]_, [Col1971]_, [CraPom2005]_, [DHBHS2004]_, [DYF1999]_, [DelegliseNicolasZimmermann2009]_, [DomKanTro1987]_, [Dup2006]_, [Dus1999]_, [EHJ2016]_, [EM2004]_, [EK2023]_, [Fie2007]_, [FieHof2014]_, [Fil1992]_, [GCL1992]_, [GG2003]_, [GS2003]_, [GVL1996]_, [Gas2018]_, [GowWag2008]_, [Got1959]_, [GraMol2010]_, [HM2017]_, [HS1967]_, [HZ2004]_, [HanZim2004]_, [Har2010]_, [Har2012]_, [Har2015]_, [Har2018]_, [Hart2010]_, [Hen1956]_, [Hoe2001]_, [Hoe2009]_, [Hor1972]_, [Iliopoulos1989]_, [Igu1972]_, [Igu1979]_, [JB2018]_, [JM2018]_, [JR1999]_, [Joh2012]_, [Joh2013]_, [Joh2014a]_, [Joh2014b]_, [Joh2014c]_, [Joh2015]_, [Joh2015b]_, [Joh2016]_, [Joh2017]_, [Joh2017a]_, [Joh2017b]_, [Joh2018a]_, [Joh2018b]_, [JvdP2002]_, [Kahan1991]_, [KanBac1979]_, [Kar1998]_, [Knu1997]_, [Kob2010]_, [Kri2013]_, [LT2016]_, [Leh1970]_, [LukPatWil1996]_, [MN2019]_, [MP2006]_, [MPFR2012]_, [MasRob1996]_, [Mic2007]_, [Miy2010]_, [Mos1971]_, [Mul2000]_, [Mum1983]_, [Mum1984]_, [NIST2012]_, [NakTurWil1997]_, [Olv1997]_, [PP2010]_, [PS1973]_, [PS1991]_, [Paterson1973]_, [PernetStein2010]_, [Pet1999]_, [Pla2011]_, [Pla2017]_, [RF1994]_, [Rad1973]_, [Rademacher1937]_, [Ric1992]_, [Ric1995]_, [Ric1997]_, [Ric2007]_, [Ric2009]_, [RosSch1962]_, [Rum2010]_, [Smi2001]_, [SorWeb2016]_, [Ste2002]_, [Ste2010]_, [Stehle2010]_, [Stein2007]_, [Sut2007]_, [StoMul1998]_, [Str2014]_, [Str1997]_, [Str2012]_, [Tak2000]_, [ThullYap1990]_, [Tre2008]_, [Tru2011]_, [Tru2014]_, [Tur1953]_, [Villard2007]_, [WaktinsZeitlin1993]_, [Wei2000]_, [Whiteman1956]_, [Zip1985]_, [vHP2012]_, [vdH1995]_, [vdH2006]_
Loading