using SymEngine
@vars x
real(x) # returns x, instead of keeping `real(x)`
imag(x) # gives `InexactError(::Symbol, ::Any, ::Any)`
reim(x) # gives `InexactError(::Symbol, ::Any, ::Any)`
I notice that by construction SymEngine.Basic <: Number but NOT subtype of Real or Complex. So I really do not understand the logic here: why real(x) simply gives x?
OK, even if the the symbol x is assumed to be real, then why is complex(x) not defined?
Minimal Example:
I notice that by construction
SymEngine.Basic <: Number
but NOT subtype of Real or Complex. So I really do not understand the logic here: whyreal(x)
simply givesx
?OK, even if the the symbol
x
is assumed to be real, then why iscomplex(x)
not defined?