Opened 4 years ago

Last modified 3 years ago

## #27314 new defect

# Can't solve symbolic equations containing inexact (e.g. RIF, RBF) numbers

Reported by: | Ricardo Buring | Owned by: | |
---|---|---|---|

Priority: | major | Milestone: | |

Component: | symbolics | Keywords: | RIF, RBF, solve |

Cc: | Merged in: | ||

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | Stopgaps: |

### Description

There are (undocumented?) symbolic wrappers around `RIF`

, `RBF`

objects, but solving equations with them

sage: var('x') sage: solve(x + RIF(0.999,1.001) == 0, x)

fails because the inexact objects cannot be converted to Maxima objects.

This is confusing to new users; see Ask SageMath: long traceback when calling solve().

Specifying `algorithm='sympy'`

gives a solution but loses information about precision.

The least thing that could be done is for `solve(eqn, x)`

to check `eqn.is_exact()`

and give a warning.

### Change History (3)

### comment:2 Changed 4 years ago by

Milestone: | sage-8.7 → sage-8.8 |
---|

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

### comment:3 Changed 3 years ago by

Milestone: | sage-8.8 |
---|

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).

**Note:**See TracTickets for help on using tickets.

One notes that numerical root seeking via

`find_root`

also fails for both RIF and RBF :Extending

`find_root`

to handle RIF and RBF expressions would allow to handle the cases where no explicit form of a root solution is known (e. g. implicit expressions resulting of`solve`

), where`find_root`

allows to compute a numerical approxomation.This would certainly be handy (but is probably a significant project in itself !).

It might also be useful to check which of the optimization functions in Sage support such uncertainty handling...