Skip to content

Corrections to infinities returned by mpmath #19439

@rwst

Description

@rwst

It seems in some cases the infinities returned from mpmath need to be changed by the function's evalf() in order to be correct:
Before:

sage: zeta(SR(1))
Infinity
sage: zeta(SR(1.))   <---------
+infinity
sage: type(zeta(SR(1)))
<type 'sage.symbolic.expression.Expression'>
sage: type(zeta(SR(1)).pyobject())
<class 'sage.rings.infinity.UnsignedInfinity'>
sage: type(zeta(SR(1.)))
<type 'sage.symbolic.expression.Expression'>
sage: type(zeta(SR(1.)).pyobject())
<type 'sage.rings.real_mpfr.RealNumber'>

The ticket should result in:

sage: zeta(SR(1))
Infinity
sage: zeta(SR(1.))
Infinity
sage: type(zeta(SR(1)))
<type 'sage.symbolic.expression.Expression'>
sage: type(zeta(SR(1)).pyobject())
<class 'sage.rings.infinity.UnsignedInfinity'>
sage: type(zeta(SR(1.)))
<type 'sage.symbolic.expression.Expression'>
sage: type(zeta(SR(1.)).pyobject())
<class 'sage.rings.infinity.UnsignedInfinity'>

Ideally, fix other such cases too in this ticket.

Depends on #22838

CC: @paulmasson

Component: symbolics

Author: Ralf Stephan

Branch/Commit: 5d2d860

Reviewer: Travis Scrimshaw

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions