Issue:
SymPy numbers and NumPy interoperability · Issue #25432 · sympy/sympy 
(github.com) <https://github.com/sympy/sympy/issues/25432>
So it seems like there is no nice solution for this currently, and changes 
are needed in NumPy.

On Wednesday, 26 July 2023 at 20:50:45 UTC+3 [email protected] wrote:

> In general, using SymPy expressions with NumPy functions is not
> supported, but I think it does make sense to make Number classes
> (Integer, Float, Rational) work. Can you open an issue about this at
> https://github.com/sympy/sympy/issues.
>
> I don't know exactly what needs to be done to make this work.
> Hopefully NumPy provides the proper hooks. Ideally, Rational and Float
> would be converted to np.float64 and Integer would be converted to
> np.int64 when used in functions like linspace. Although changing this
> could potentially be an issue if people are using numpy arrays of
> Rational currently (which I wouldn't necessarily recommend).
>
> Aaron Meurer
>
> On Wed, Jul 26, 2023 at 11:37 AM Idan Pazi <[email protected]> wrote:
> >
> > Hello,
> > Is there a way I could configure NumPy or SymPy so that NumPy functions 
> would accept SymPy numbers (e.g. sympy.Rational)?
> >
> > For example:
> > >>> import numpy as np
> > >>> import sympy
> > >>> np.linspace(0, sympy.Rational(1,2), 2)
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in <module>
> > File "<__array_function__ internals>", line 180, in linspace
> > File 
> "C:\Users\idank\mambaforge\lib\site-packages\numpy\core\function_base.py", 
> line 130, in linspace
> > dt = result_type(start, stop, float(num))
> > File "<__array_function__ internals>", line 180, in result_type
> > TypeError: Cannot interpret '0.500000000000000' as a data type
> >
> > >>> np.isnan(sympy.Rational(1,2))
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in <module>
> > TypeError: ufunc 'isnan' not supported for the input types, and the 
> inputs could not be safely coerced to any supported types according to the 
> casting rule ''safe''
> >
> > Background:
> > I'm using IPython+SymPy+NumPy as a calculator.
> > For convenience, I automatically convert all divisions and floats to 
> sympy.Rational
> > (and display results both as fractions and as decimals)
> > After such conversions stuff like np.log(2.33) fails.
> > For more details, see - https://github.com/idanpa/calcpy
> >
> > (SymPy version 1.12, NumPy version 1.25.1)
> >
> > Thanks!
> > Idan
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected].
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/208b8d87-9e7b-4fe9-86fc-9575a0b57002n%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/c5abf9ae-7c65-4935-9685-3791da6fa20an%40googlegroups.com.

Reply via email to