本文整理汇总了Python中sage.symbolic.ring.SR.operator方法的典型用法代码示例。如果您正苦于以下问题:Python SR.operator方法的具体用法?Python SR.operator怎么用?Python SR.operator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sage.symbolic.ring.SR
的用法示例。
在下文中一共展示了SR.operator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: max_to_sr
# 需要导入模块: from sage.symbolic.ring import SR [as 别名]
# 或者: from sage.symbolic.ring.SR import operator [as 别名]
def max_to_sr(expr):
r"""
Convert a Maxima object into a symbolic expression.
INPUT:
- ``expr`` - ECL object
OUTPUT: symbolic expression
EXAMPLES::
sage: from sage.interfaces.maxima_lib import maxima_lib, max_to_sr
sage: f = maxima_lib('f(x)')
sage: f.ecl()
<ECL: (($F SIMP) $X)>
sage: max_to_sr(f.ecl())
f(x)
TESTS::
sage: from sage.interfaces.maxima_lib import sr_to_max, max_to_sr
sage: f = function('f',x).diff()
sage: bool(max_to_sr(sr_to_max(f)) == f)
True
"""
if expr.consp():
op_max=caar(expr)
if op_max in special_max_to_sage:
return special_max_to_sage[op_max](expr)
if not(op_max in max_op_dict):
# This could be unsafe if the conversion to SR
# changes the structure of expr
sage_expr=SR(maxima(expr))
max_op_dict[op_max]=sage_expr.operator()
sage_op_dict[sage_expr.operator()]=op_max
op=max_op_dict[op_max]
max_args=cdr(expr)
args=[max_to_sr(a) for a in max_args]
return op(*args)
elif expr.symbolp():
if not(expr in max_sym_dict):
sage_symbol=SR(maxima(expr))
sage_sym_dict[sage_symbol]=expr
max_sym_dict[expr]=sage_symbol
return max_sym_dict[expr]
else:
e=expr.python()
if isinstance(e,float):
return sage.rings.real_double.RealDoubleElement(e)
return e