当前位置: 首页>>代码示例>>Python>>正文


Python sympy.Expr方法代码示例

本文整理汇总了Python中sympy.Expr方法的典型用法代码示例。如果您正苦于以下问题:Python sympy.Expr方法的具体用法?Python sympy.Expr怎么用?Python sympy.Expr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sympy的用法示例。


在下文中一共展示了sympy.Expr方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: sympy_to_grim

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def sympy_to_grim(expr, **kwargs):
    import sympy
    assert isinstance(expr, sympy.Expr)
    if expr.is_Integer:
        return Expr(int(expr))
    if expr.is_Symbol:
        return Expr(symbol_name=expr.name)
    if expr is sympy.pi:
        return Pi
    if expr is sympy.E:
        return ConstE
    if expr is sympy.I:
        return ConstI
    if expr.is_Add:
        args = [sympy_to_grim(x, **kwargs) for x in expr.args]
        return Add(*args)
    if expr.is_Mul:
        args = [sympy_to_grim(x, **kwargs) for x in expr.args]
        return Mul(*args)
    if expr.is_Pow:
        args = [sympy_to_grim(x, **kwargs) for x in expr.args]
        b, e = args
        return Pow(b, e)
    raise NotImplementedError("converting %s to Grim", type(expr)) 
开发者ID:fredrik-johansson,项目名称:fungrim,代码行数:26,代码来源:sympy_interface.py

示例2: EvalExpr

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def EvalExpr(value_type, x):
  """Evaluates x with symbol_to_value_map within the current context.

  Args:
    value_type: the target value type (see VALUE_TYPE).
    x: a sympy.Expr, an object, or a list/tuple of Exprs and objects.

  Returns:
    Evaluation result of 'x'.
  """
  if isinstance(x, (list, tuple)):
    return type(x)(EvalExpr(value_type, y) for y in x)
  elif isinstance(x, sympy.Expr):
    symbol_to_value_map = SymbolToValueMap.Get(value_type)
    if not symbol_to_value_map:
      return x
    # In theory the below should be equivalent to:
    #   y = x.subs(symbol_to_value_map).
    # In practice subs() doesn't work for when values are Tensors.
    k, v = list(zip(*(list(symbol_to_value_map.items()))))
    y = sympy.lambdify(k, x)(*v)
    return y
  else:
    return x 
开发者ID:tensorflow,项目名称:lingvo,代码行数:26,代码来源:symbolic.py

示例3: basis_functions

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def basis_functions(d, x):
    """Symbolically evaluate the uniform B-spline basis functions.

    Parameters
    ----------
    d : int
        The degree of the uniform B-spline.

    x : sp.Symbol
        Interpolation parameter.

    Returns
    -------
    b : list of sp.Expr, len = d + 1
        List of B-spline basis functions, where `b[i]` is the interpolating
        expression over the unit interval.
    """
    if d < 0:
        raise ValueError('d < 0 (= {})'.format(d))

    return [ib[1].subs({x : x + ib[0]}).expand()
            for ib in enumerate(B(0, d + 1, x))][::-1]


# uniform_bspline_basis 
开发者ID:rstebbing,项目名称:bspline-regression,代码行数:27,代码来源:uniform_bspline.py

示例4: canonical_shape

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def canonical_shape(shape):
    """ Return shape as tuple of int or Symbol.

    This utility function ensures the shape tuple
    using a single integer type (to its best effort).

    Args:
        shape: tuple(int|long|np.int*|Symbol|SymbolExpr...)
    """

    def try_cast(x):
        try:
            # In python2.7, long and int are different types.
            # If we cast a long int whose value is out of the range of int,
            # the result is still long, avoiding overflow:
            #
            #     `type(2<<64) == long        # true`
            #     `type(int(2<<64)) == long   # true`
            x = int(x)
        except TypeError:
            # ignore symbolic value (sm.Symbol or sm.Expr)
            pass
        return x

    return tuple(try_cast(x) for x in shape) 
开发者ID:apple,项目名称:coremltools,代码行数:27,代码来源:type_tensor.py

示例5: __init__

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def __init__(self, formula: str, expression: sp.Expr) -> None:
        """Parse the column name into a patsy term and replace any categorical variables in its SymPy expression with
        the correct indicator variable symbols.
        """
        self.expression = expression
        self.names = {str(s) for s in expression.free_symbols}

        # replace categorical variable symbols with their indicator counterparts
        for factor in parse_terms(formula)[-1].factors:
            name = factor.name()
            base_symbol = CategoricalTreatment.parse_base_symbol(name)
            if base_symbol is not None:
                self.expression = self.expression.replace(base_symbol, CategoricalTreatment.parse_full_symbol(name))

        # cache evaluated derivatives
        self.derivatives: Dict[str, sp.Expr] = {} 
开发者ID:jeffgortmaker,项目名称:pyblp,代码行数:18,代码来源:formulation.py

示例6: output_equation

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def output_equation(self, output_equation):
        if isinstance(output_equation, sp.Expr):
            output_equation = Array([output_equation])
        if output_equation is None and self.dim_state == 0:
            output_equation = empty_array()
        else:
            if output_equation is None:
                output_equation = self.state

            assert output_equation.atoms(sp.Symbol) <= (
                    set(self.constants_values.keys())
                    | set([dynamicsymbols._t])
                   )

            if self.dim_state:
                assert find_dynamicsymbols(output_equation) <= set(self.state)
            else:
                assert find_dynamicsymbols(output_equation) <= set(self.input)

        self.dim_output = len(output_equation)

        self._output_equation = output_equation
        self.update_output_equation_function() 
开发者ID:simupy,项目名称:simupy,代码行数:25,代码来源:symbolic.py

示例7: __new__

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def __new__(cls, lhs, rhs, params=None):
        try:
            rhs = Integer(rhs)
            if rhs == 0:
                raise ValueError("Cannot divide by 0")
            elif rhs == 1:
                return lhs
        except TypeError:
            # We must be sure the symbolic RHS is of type int
            if not hasattr(rhs, 'dtype'):
                raise ValueError("Symbolic RHS `%s` lacks dtype" % rhs)
            if not issubclass(rhs.dtype, np.integer):
                raise ValueError("Symbolic RHS `%s` must be of type `int`, found "
                                 "`%s` instead" % (rhs, rhs.dtype))
        obj = sympy.Expr.__new__(cls, lhs, rhs)
        obj.lhs = lhs
        obj.rhs = rhs
        return obj 
开发者ID:devitocodes,项目名称:devito,代码行数:20,代码来源:extended_sympy.py

示例8: test_gaussian

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def test_gaussian():
    """
    Make sure that symfit.distributions.Gaussians produces the expected
    sympy expression.
    """
    x0 = Parameter()
    sig = Parameter(positive=True)
    x = Variable()

    new = sympy.exp(-(x - x0)**2/(2*sig**2))/sympy.sqrt((2*sympy.pi*sig**2))
    assert isinstance(new, sympy.Expr)
    g = Gaussian(x, x0, sig)
    assert issubclass(g.__class__, sympy.Expr)
    assert new == g

    # A pdf should always integrate to 1 on its domain
    assert sympy.integrate(g, (x, -sympy.oo, sympy.oo)) == 1 
开发者ID:tBuLi,项目名称:symfit,代码行数:19,代码来源:test_distributions.py

示例9: test_exp

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def test_exp():
    """
    Make sure that symfit.distributions.Exp produces the expected
    sympy expression.
    """
    l = Parameter(positive=True)
    x = Variable()

    new = l * sympy.exp(- l * x)
    assert isinstance(new, sympy.Expr)
    e = Exp(x, l)
    assert issubclass(e.__class__, sympy.Expr)
    assert new == e

    # A pdf should always integrate to 1 on its domain
    assert sympy.integrate(e, (x, 0, sympy.oo)) == 1 
开发者ID:tBuLi,项目名称:symfit,代码行数:18,代码来源:test_distributions.py

示例10: Exp

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def Exp(x, l):
    """
    .. math::

        f(x) = l e^{- l x}

    Exponential Distribution pdf.

    :param x: free variable.
    :param l: rate parameter.
    :return: sympy.Expr for an Exponential Distribution pdf.
    """
    return l * sympy.exp(- l * x)

# def Beta():
#     sympy.stats.Beta() 
开发者ID:tBuLi,项目名称:symfit,代码行数:18,代码来源:distributions.py

示例11: __init__

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def __init__(self, model):
        """
        Initiate a Model from a dict::

            a = Model({y: x**2})

        Preferred way of initiating ``Model``, since now you know what the dependent variable is called.

        :param model: dict of ``Expr``, where dependent variables are the keys.
        """
        if not isinstance(model, Mapping):
            try:
                iter(model)
            except TypeError:
                # Model is still a scalar model
                model = [model]
            # TODO: this will break upon deprecating the auto-generation of
            # names for Variables. At this time, a DummyVariable object
            # should be introduced to fulfill the same role.
            model = {Variable(): expr for expr in model}
        self._init_from_dict(model) 
开发者ID:tBuLi,项目名称:symfit,代码行数:23,代码来源:models.py

示例12: sympify

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def sympify(expr: Union[str, Number, sympy.Expr, numpy.str_], **kwargs) -> sympy.Expr:
    if isinstance(expr, numpy.str_):
        # putting numpy.str_ in sympy.sympify behaves unexpected in version 1.1.1
        # It seems to ignore the locals argument
        expr = str(expr)
    try:
        return sympy.sympify(expr, **kwargs, locals=sympify_namespace)
    except TypeError as err:
        if True:#err.args[0] == "'Symbol' object is not subscriptable":

            indexed_base = get_subscripted_symbols(expr)
            return sympy.sympify(expr, **kwargs, locals={**{k: sympy.IndexedBase(k)
                                                            for k in indexed_base},
                                                         **sympify_namespace})

        else:
            raise 
开发者ID:qutech,项目名称:qupulse,代码行数:19,代码来源:sympy.py

示例13: __init__

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def __init__(self, ex: Union[str, Number, sympy.Expr]) -> None:
        """Create an Expression object.

        Receives the mathematical expression which shall be represented by the object as a string
        which will be parsed using py_expression_eval. For available operators, functions and
        constants see SymPy documentation

        Args:
            ex (string): The mathematical expression represented as a string
        """
        super().__init__()

        if isinstance(ex, sympy.Expr):
            self._original_expression = str(ex)
            self._sympified_expression = ex
        else:
            self._original_expression = ex
            self._sympified_expression = sympify(ex)

        self._variables = get_variables(self._sympified_expression) 
开发者ID:qutech,项目名称:qupulse,代码行数:22,代码来源:expressions.py

示例14: grim_to_sympy

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def grim_to_sympy(expr, **kwargs):
    import sympy
    assert isinstance(expr, Expr)
    if expr.is_integer():
        return sympy.sympify(int(expr))
    if expr.is_symbol():
        if expr == Pi:
            return sympy.pi
        if expr == ConstI:
            return sympy.I
        if expr == ConstE:
            return sympy.E
        return sympy.Symbol(str(expr))
    head = expr.head()
    args = [grim_to_sympy(x, **kwargs) for x in expr.args()]
    if head in (Pos, Parentheses, Brackets, Braces, AngleBrackets, Logic):
        x, = args
        return x
    if expr.head() == Add:
        return sympy.Add(*args)
    if expr.head() == Mul:
        return sympy.Mul(*args)
    if expr.head() == Neg:
        x, = args
        return -x
    if expr.head() == Sub:
        a, b = args
        return a - b
    if expr.head() == Div:
        p, q = args
        return p / q
    if expr.head() == Pow:
        b, e = args
        return b ** e
    if expr.head() == Sqrt:
        x, = args
        return sympy.sqrt(x)
    raise NotImplementedError("converting %s to SymPy", expr.head()) 
开发者ID:fredrik-johansson,项目名称:fungrim,代码行数:40,代码来源:sympy_interface.py

示例15: testGetSymbol

# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import Expr [as 别名]
def testGetSymbol(self):
    x = symbolic.Symbol('x')
    self.assertIsInstance(x, sympy.Expr) 
开发者ID:tensorflow,项目名称:lingvo,代码行数:5,代码来源:symbolic_test.py


注:本文中的sympy.Expr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。