sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.44k stars 481 forks source link

Elementary and special functions for complex balls #19082

Closed mezzarobba closed 8 years ago

mezzarobba commented 9 years ago

Wrap the elementary and special functions on complex balls provided by arb (as of arb 2.6; a few more functions were added since then). We typically wrap only the high-level versions with automatic algorithm choice, and provide no Python access to implementations variants.

Depends on #19063 Depends on #19152

Component: numerical

Keywords: arb

Work Issues: rebase over 7.0, doc. CBF

Author: Marc Mezzarobba

Branch/Commit: 3873da1

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/19082

mezzarobba commented 9 years ago

Commit: cdede7e

mezzarobba commented 9 years ago

Branch: u/mmezzarobba/19082-acb-funs

mezzarobba commented 9 years ago

Last 10 new commits:

b4e82aa{Real,Complex}Ball: implement conversions to QQ
5e1cbdaComplexBall: containment and overlapping predicates
d44c1b1ComplexBall: abs(), arg()
62af563RealBall: implement abs()
448bf24{Real,Complex}Ball: implement {above,below}_abs()
11f545bComplexBall: elementary functions
91f95f7ComplexBall: optimized powering methods
8e30743ComplexBall: rising_factorial()
1d98780ComplexBall: special functions
cdede7eComplexBall: additional special functions, from acb_hypgeom
fredrik-johansson commented 9 years ago
comment:3

In hypergeometric(), you could check if one of the upper parameters (typo: "paramaters") is equal to 1, and remove it. I guess you could also wrap hypgeom_m for 1F1 in this function. On the other hand, maybe it's best to wait until I put a function for pFq in Arb that takes care of all such special cases...

If you upgrade to Arb 2.7.0, you can add Bessel Y, Bessel I, polygamma, barnes_g, log_barnes_g, and some more hyperbolic functions of complex arguments.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from cdede7e to c203cfb

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c203cfbComplexBall: unify & improve hypergeometric functions
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from c203cfb to a64cde3

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

a872274Trac #19063: Merge #18546 in preparation of doctest fix for 32 bit
8479dd2Trac #19063: fix doctests on 32 bit
c022236Merge branch 'acb-arith' into 6.9
0c0a630ComplexBall: elementary functions
22adfbbComplexBall: optimized powering methods
ac54861ComplexBall: rising_factorial()
cd8e074ComplexBall: special functions
78a06c5ComplexBall: additional special functions, from acb_hypgeom
3474911ComplexBall: unify & improve hypergeometric functions
a64cde3{Real,Complex}Ball: extend log() to accept a base
mezzarobba commented 9 years ago
comment:6

Rebased, added one commit.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

91f9282Trac #19063: Replace interval by ball in title
08d3d29#19063 Implement reviewer's comments
d13e70fTrac #19063: fix doctests on 32 bit
dd32bbdComplexBall: elementary functions
738240eComplexBall: optimized powering methods
3c0e32bComplexBall: rising_factorial()
8ee7c27ComplexBall: special functions
df6f04eComplexBall: additional special functions, from acb_hypgeom
c1651eeComplexBall: unify & improve hypergeometric functions
74b5751{Real,Complex}Ball: extend log() to accept a base
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from a64cde3 to 74b5751

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 74b5751 to 7f456bd

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

a50fde3Trac #19063: Replace interval by ball in title
e3233c5#19063 Implement reviewer's comments
fa41787Trac #19063: fix doctests on 32 bit
767ea82ComplexBall: elementary functions
e7463ccComplexBall: optimized powering methods
fa17f51ComplexBall: rising_factorial()
8cb73bdComplexBall: special functions
ca4b436ComplexBall: additional special functions, from acb_hypgeom
07a8e06ComplexBall: unify & improve hypergeometric functions
7f456bd{Real,Complex}Ball: extend log() to accept a base
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

cc74b61Trac #19152: fix one link and add SEEALSO
f51cd86{Real,Complex}Ball: better document add_error()
49a2e9b{Real,Complex}Ball: improve doc of is_nonzero()
154b65d{real,complex}_arb: rm AUTHORS blocks
dfccd23e22f4074539b1833befb7f24bd700a7fe11589a
73a928areal_ball: one more instance of [non]zero -> True/False
3749cbb{real,complex}_arb: clarify that b == b in arb too
660075fMerge branch 'arb-misc' into arb-all
5038f5aMerge in arb-misc (and 6.10.beta4) to fix minor conflict
9b147a9real_arb: rst syntax
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 7f456bd to 9b147a9

mezzarobba commented 9 years ago

Changed dependencies from #19063 to #19063, #19152

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

8d55755complex_arb: remove unneeded imports from doctests
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 9b147a9 to 8d55755

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

a6db0a6complex_arb: remove unneeded imports from doctests
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 8d55755 to a6db0a6

mezzarobba commented 8 years ago
comment:14

Note that the branch appears to merge cleanly despite the red link, and to pass the testsuite despite the patchbot's report.

cheuberg commented 8 years ago
comment:15

I get the same doctest errors as the patchbot under 6.10.beta7, perhaps the upgrade to arb 2.7 induced the problem. (No problems under 6.10.beta4 where this patch is based).

Do the tests really pass for you when merging with 6.10.beta7?

mezzarobba commented 8 years ago
comment:16

Replying to @cheuberg:

Do the tests really pass for you when merging with 6.10.beta7?

I think that's what I did, but I'll check.

mezzarobba commented 8 years ago
comment:17

Mmmhh, actually what happens is that when I run

$ sage -t src/sage/rings/complex_arb.pyx

the tests pass, but if I test the whole rings/ directory they fail.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

5cfd302Merge branch 'develop' into acb-funs
235696dcomplex_arb: update tests after arb upgrade
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from a6db0a6 to 235696d

mezzarobba commented 8 years ago
comment:19

I don't know what the problem was, but it no longer seems to occur with 7.0β3.

mezzarobba commented 8 years ago

Description changed:

--- 
+++ 
@@ -1 +1 @@
-Wrap the elementary and special functions on complex balls provided by arb. (We typically wrap only the high-level versions with automatic algorithm choice, and provide no Python access to implementations variants.)
+Wrap the elementary and special functions on complex balls provided by arb (as of arb 2.6; a few more functions were added since then). We typically wrap only the high-level versions with automatic algorithm choice, and provide no Python access to implementations variants.
dimpase commented 8 years ago
comment:20

it has to be rebased over 7.0, and I also don't see any explanation of what CBF is in the docs.

Note that CBF occurs earlier on in the doc, and it's not mentioned that it's the same thing as ComplexBallField. It would be good to mention in the top part of the doc, I think.

dimpase commented 8 years ago

Work Issues: rebase over 7.0, doc. CBF

dimpase commented 8 years ago
comment:21

you might just use public/19082 branch where I merged 7.0 into your branch, but docs I ask for are still for you to write.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

3873da1Document the shortcut CBF for ComplexBallField()
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 235696d to 3873da1

mezzarobba commented 8 years ago
comment:23

Thanks for your comments!

Replying to @dimpase:

it has to be rebased over 7.0,

What do you mean? Unless I made a mistake while checking, the branch merges without conflict into 7.0.

and I also don't see any explanation of what CBF is in the docs.

Note that CBF occurs earlier on in the doc, and it's not mentioned that it's the same thing as ComplexBallField. It would be good to mention in the top part of the doc, I think.

Yes, that's similar to the situation with RR, CC, RIF... that aren't documented in the corresponding modules either. So I'm not convinced that this ticket is the right place to make the change. But I added a commit with a bit of documentation about CBF; please tell me if that's what you had in mind.


New commits:

3873da1Document the shortcut CBF for ComplexBallField()
dimpase commented 8 years ago
comment:25

Replying to @mezzarobba:

Replying to @dimpase:

it has to be rebased over 7.0,

What do you mean? Unless I made a mistake while checking, the branch merges without conflict into 7.0.

I meant that I checked it out, instead of merging it into 7.0, and had to wait for 10 minutes for the re-builds to finish :-)

and I also don't see any explanation of what CBF is in the docs.

Note that CBF occurs earlier on in the doc, and it's not mentioned that it's the same thing as ComplexBallField. It would be good to mention in the top part of the doc, I think.

Yes, that's similar to the situation with RR, CC, RIF... that aren't documented in the corresponding modules either. So I'm not convinced that this ticket is the right place to make the change. But I added a commit with a bit of documentation about CBF; please tell me if that's what you had in mind.

That's exactly what I meant, thanks!

vbraun commented 8 years ago
comment:26

Reviewer name missing

dimpase commented 8 years ago

Reviewer: Dima Pasechnik

mezzarobba commented 8 years ago
comment:28

Thanks for the review!

vbraun commented 8 years ago

Changed branch from u/mmezzarobba/19082-acb-funs to 3873da1