Opened 5 years ago
Closed 4 years ago
#24686 closed enhancement (fixed)
Integration of piecewise analytic complex functions using arb
Reported by:  mmezzarobba  Owned by:  

Priority:  major  Milestone:  sage8.2 
Component:  numerical  Keywords:  thursdaysbdx 
Cc:  fredrik.johansson, vdelecroix, cheuberg  Merged in:  
Authors:  Vincent Delecroix, Fredrik Johansson, Marc Mezzarobba  Reviewers:  Vincent Delecroix 
Report Upstream:  N/A  Work issues:  
Branch:  251ca50 (Commits, GitHub, GitLab)  Commit:  251ca50cbaae8e3750759ef62893c818c1243d65 
Dependencies:  #24369  Stopgaps: 
Description
Change History (31)
comment:1 Changed 5 years ago by
 Branch set to public/24686acb_calc_integrate
 Commit set to 93fd12fa39f0019de4c17dc8268320deeefc524c
comment:2 Changed 5 years ago by
 Dependencies set to #24369
comment:3 Changed 5 years ago by
 Commit changed from 93fd12fa39f0019de4c17dc8268320deeefc524c to 453ab37e4f6a92ba7b1d35f2a354ec27eac36f1b
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
453ab37  declarations

comment:4 Changed 5 years ago by
 Commit changed from 453ab37e4f6a92ba7b1d35f2a354ec27eac36f1b to 0e5870022563e58493ebea44ac570357db9aac2d
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
0e58700  declarations

comment:5 Changed 5 years ago by
 Commit changed from 0e5870022563e58493ebea44ac570357db9aac2d to d9108e52320d49799834c0a33f343e87b5e89ed5
Branch pushed to git repo; I updated commit sha1. New commits:
63a5abe  Use py_scalar_to_element() to factor nonSage numbers

76861fa  Merge branch 'public/24686acb_calc_integrate' of trac.sagemath.org:sage into 24686

8854091  24686: fix arb declarations

d9108e5  24686: draft of complex arb function integration

comment:6 Changed 5 years ago by
 Commit changed from d9108e52320d49799834c0a33f343e87b5e89ed5 to 7f58c68b32c28b17d1d103a35415db188a09c4af
comment:7 Changed 5 years ago by
Sorry, I wrongly included a commit from another ticket... cleaner now!
comment:8 Changed 5 years ago by
 Keywords thursdaysbdx added
comment:9 Changed 5 years ago by
 Commit changed from 7f58c68b32c28b17d1d103a35415db188a09c4af to 70987f3638e08dd1f9a28dfb4f6dfba4ead50bce
comment:10 Changed 5 years ago by
 Commit changed from 70987f3638e08dd1f9a28dfb4f6dfba4ead50bce to eaf8955d5d795e362eae688b1e5a32a72ce0686a
Branch pushed to git repo; I updated commit sha1. New commits:
eaf8955  fix

comment:11 Changed 4 years ago by
 Commit changed from eaf8955d5d795e362eae688b1e5a32a72ce0686a to daaa0e0867bb817f7315743d4af090b885167844
comment:12 Changed 4 years ago by
 Commit changed from daaa0e0867bb817f7315743d4af090b885167844 to 5894e131e1acbe1ad128a17e7612f021d174d924
comment:13 Changed 4 years ago by
 Status changed from new to needs_review
comment:14 Changed 4 years ago by
 Commit changed from 5894e131e1acbe1ad128a17e7612f021d174d924 to 145de00eec51a55024fb2ea6c0bf791154793efd
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
145de00  #24686 robustify, clean up, document rigorous integration using arb

comment:15 Changed 4 years ago by
 Commit changed from 145de00eec51a55024fb2ea6c0bf791154793efd to 374a942f545f3e955c0e0760b1424e70637bb123
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
374a942  #24686 robustify, clean up, document rigorous integration using arb

comment:16 Changed 4 years ago by
 Commit changed from 374a942f545f3e955c0e0760b1424e70637bb123 to 376811d432db07955bcef8fd5e7aaf3a85cd3375
Branch pushed to git repo; I updated commit sha1. New commits:
376811d  doc markup fixes

comment:17 Changed 4 years ago by
 Commit changed from 376811d432db07955bcef8fd5e7aaf3a85cd3375 to 0902f14382d40957d9c7623bbb7591607a7d9ffa
Branch pushed to git repo; I updated commit sha1. New commits:
0902f14  another doc fix

comment:18 Changed 4 years ago by
 Commit changed from 0902f14382d40957d9c7623bbb7591607a7d9ffa to 1d6ca9cb5dc3896afe9bfa7a1fcf17b65664d53c
Branch pushed to git repo; I updated commit sha1. New commits:
1d6ca9c  add a few more doctest examples

comment:19 Changed 4 years ago by
 Commit changed from 1d6ca9cb5dc3896afe9bfa7a1fcf17b65664d53c to 120bcb484d9b6f963caa1f287e75aa656b35da0f
Branch pushed to git repo; I updated commit sha1. New commits:
120bcb4  #24686 minor fixes

comment:20 Changed 4 years ago by
 Summary changed from Integration of complex piecewise analytic functions using arb to Integration of piecewise analytic complex functions using arb
comment:21 followup: ↓ 23 Changed 4 years ago by
I am not sure it is wise to have all of
cdef IntegrationContext ctx = <IntegrationContext>param if ctx.exn_type is not None or order >= 2: acb_indeterminate(out) return 0 cdef ComplexBall x = ComplexBall.__new__(ComplexBall) assert prec == ctx.parent._prec
inside sig_on
/sig_off
.
comment:22 followup: ↓ 24 Changed 4 years ago by
What is the point of
if isinstance(a, (RealBall, ComplexBall)): ca = <ComplexBall> self(a) else: ca = <ComplexBall> self.coerce(a)
instead of the direct <ComplexBall> self.coerce(a)
?
comment:23 in reply to: ↑ 21 ; followup: ↓ 26 Changed 4 years ago by
Replying to vdelecroix:
I am not sure it is wise to have all of
cdef IntegrationContext ctx = <IntegrationContext>param if ctx.exn_type is not None or order >= 2: acb_indeterminate(out) return 0 cdef ComplexBall x = ComplexBall.__new__(ComplexBall) assert prec == ctx.parent._precinside
sig_on
/sig_off
.
I guess you are right, the __new__
probably shouldn't be inside, thanks!
comment:24 in reply to: ↑ 22 ; followup: ↓ 25 Changed 4 years ago by
Replying to vdelecroix:
What is the point of
if isinstance(a, (RealBall, ComplexBall)): ca = <ComplexBall> self(a) else: ca = <ComplexBall> self.coerce(a)instead of the direct
<ComplexBall> self.coerce(a)
?
It accepts balls of lower precision.
comment:25 in reply to: ↑ 24 ; followup: ↓ 28 Changed 4 years ago by
Replying to mmezzarobba:
Replying to vdelecroix:
What is the point of
if isinstance(a, (RealBall, ComplexBall)): ca = <ComplexBall> self(a) else: ca = <ComplexBall> self.coerce(a)instead of the direct
<ComplexBall> self.coerce(a)
?It accepts balls of lower precision.
Do we want this? What is guaranteed by the conversion self(a)
when a
is a ball in lower precision?
comment:26 in reply to: ↑ 23 Changed 4 years ago by
Replying to mmezzarobba:
Replying to vdelecroix:
I am not sure it is wise to have all of
cdef IntegrationContext ctx = <IntegrationContext>param if ctx.exn_type is not None or order >= 2: acb_indeterminate(out) return 0 cdef ComplexBall x = ComplexBall.__new__(ComplexBall) assert prec == ctx.parent._precinside
sig_on
/sig_off
.I guess you are right, the
__new__
probably shouldn't be inside, thanks!
The cast cdef IntegrationContext ctx = <IntegrationContext>param
and the assert
are also concerned.
comment:27 Changed 4 years ago by
 Commit changed from 120bcb484d9b6f963caa1f287e75aa656b35da0f to 251ca50cbaae8e3750759ef62893c818c1243d65
Branch pushed to git repo; I updated commit sha1. New commits:
251ca50  #24686 misplaced sig_off()

comment:28 in reply to: ↑ 25 Changed 4 years ago by
Replying to vdelecroix:
Do we want this? What is guaranteed by the conversion
self(a)
whena
is a ball in lower precision?
I think we do. It stays exactly the same ball.
comment:29 Changed 4 years ago by
 Cc cheuberg added
comment:30 Changed 4 years ago by
 Reviewers set to Vincent Delecroix
 Status changed from needs_review to positive_review
I just reread the code. I believe we did enough cross review to have a decent version!
comment:31 Changed 4 years ago by
 Branch changed from public/24686acb_calc_integrate to 251ca50cbaae8e3750759ef62893c818c1243d65
 Resolution set to fixed
 Status changed from positive_review to closed
New commits:
update arb to 2.12.0, doctest fixes, and #24369
Merge remotetracking branch 'trac/u/dimpase/arb212' into integration
wip