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: sage-8.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:

Status badges

Description


Change History (31)

comment:1 Changed 5 years ago by mmezzarobba

  • Branch set to public/24686-acb_calc_integrate
  • Commit set to 93fd12fa39f0019de4c17dc8268320deeefc524c

New commits:

c793138update arb to 2.12.0, doctest fixes, and #24369
c36b7dbMerge remote-tracking branch 'trac/u/dimpase/arb212' into integration
93fd12fwip

comment:2 Changed 5 years ago by mmezzarobba

  • Dependencies set to #24369

comment:3 Changed 5 years ago by git

  • Commit changed from 93fd12fa39f0019de4c17dc8268320deeefc524c to 453ab37e4f6a92ba7b1d35f2a354ec27eac36f1b

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

453ab37declarations

comment:4 Changed 5 years ago by git

  • Commit changed from 453ab37e4f6a92ba7b1d35f2a354ec27eac36f1b to 0e5870022563e58493ebea44ac570357db9aac2d

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

0e58700declarations

comment:5 Changed 5 years ago by git

  • Commit changed from 0e5870022563e58493ebea44ac570357db9aac2d to d9108e52320d49799834c0a33f343e87b5e89ed5

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

63a5abeUse py_scalar_to_element() to factor non-Sage numbers
76861faMerge branch 'public/24686-acb_calc_integrate' of trac.sagemath.org:sage into 24686
885409124686: fix arb declarations
d9108e524686: draft of complex arb function integration

comment:6 Changed 5 years ago by git

  • Commit changed from d9108e52320d49799834c0a33f343e87b5e89ed5 to 7f58c68b32c28b17d1d103a35415db188a09c4af

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

352d30e24686: fix arb declarations
7f58c6824686: draft of complex arb function integration

comment:7 Changed 5 years ago by vdelecroix

Sorry, I wrongly included a commit from another ticket... cleaner now!

comment:8 Changed 5 years ago by vdelecroix

  • Keywords thursdaysbdx added

comment:9 Changed 5 years ago by git

  • Commit changed from 7f58c68b32c28b17d1d103a35415db188a09c4af to 70987f3638e08dd1f9a28dfb4f6dfba4ead50bce

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

e3c05c9CBF: bind acb_union()
70987f3robustify

comment:10 Changed 5 years ago by git

  • Commit changed from 70987f3638e08dd1f9a28dfb4f6dfba4ead50bce to eaf8955d5d795e362eae688b1e5a32a72ce0686a

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

eaf8955fix

comment:11 Changed 4 years ago by git

  • Commit changed from eaf8955d5d795e362eae688b1e5a32a72ce0686a to daaa0e0867bb817f7315743d4af090b885167844

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

bdaef6dsig_on/off and more cleanup
daaa0e0goal, tol

comment:12 Changed 4 years ago by git

  • Commit changed from daaa0e0867bb817f7315743d4af090b885167844 to 5894e131e1acbe1ad128a17e7612f021d174d924

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

1617d1dimplement ComplexBall.union()
5894e13#24686 robustify, clean up, document rigorous integration using arb

comment:13 Changed 4 years ago by mmezzarobba

  • Authors set to Vincent Delecroix, Fredrik Johansson, Marc Mezzarobba
  • Status changed from new to needs_review

comment:14 Changed 4 years ago by git

  • 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 git

  • 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 git

  • Commit changed from 374a942f545f3e955c0e0760b1424e70637bb123 to 376811d432db07955bcef8fd5e7aaf3a85cd3375

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

376811ddoc markup fixes

comment:17 Changed 4 years ago by git

  • Commit changed from 376811d432db07955bcef8fd5e7aaf3a85cd3375 to 0902f14382d40957d9c7623bbb7591607a7d9ffa

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

0902f14another doc fix

comment:18 Changed 4 years ago by git

  • Commit changed from 0902f14382d40957d9c7623bbb7591607a7d9ffa to 1d6ca9cb5dc3896afe9bfa7a1fcf17b65664d53c

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

1d6ca9cadd a few more doctest examples

comment:19 Changed 4 years ago by git

  • 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 mmezzarobba

  • Summary changed from Integration of complex piecewise analytic functions using arb to Integration of piecewise analytic complex functions using arb

comment:21 follow-up: Changed 4 years ago by 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._prec

inside sig_on/sig_off.

comment:22 follow-up: Changed 4 years ago by 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)?

Last edited 4 years ago by vdelecroix (previous) (diff)

comment:23 in reply to: ↑ 21 ; follow-up: Changed 4 years ago by 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._prec

inside sig_on/sig_off.

I guess you are right, the __new__ probably shouldn't be inside, thanks!

comment:24 in reply to: ↑ 22 ; follow-up: Changed 4 years ago by 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.

comment:25 in reply to: ↑ 24 ; follow-up: Changed 4 years ago by vdelecroix

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 vdelecroix

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._prec

inside 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 git

  • 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 mmezzarobba

Replying to vdelecroix:

Do we want this? What is guaranteed by the conversion self(a) when a is a ball in lower precision?

I think we do. It stays exactly the same ball.

comment:29 Changed 4 years ago by mmezzarobba

  • Cc cheuberg added

comment:30 Changed 4 years ago by vdelecroix

  • 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 vbraun

  • Branch changed from public/24686-acb_calc_integrate to 251ca50cbaae8e3750759ef62893c818c1243d65
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.