Functions¶
All functions support the methods documented below, inherited from
sympy.core.function.Function.
- 
class sympy.core.function.Function(*args)[source]
- Base class for applied mathematical functions. - It also serves as a constructor for undefined function classes. - Examples - First example shows how to use Function as a constructor for undefined function classes: - >>> from sympy import Function, Symbol >>> x = Symbol('x') >>> f = Function('f') >>> g = Function('g')(x) >>> f f >>> f(x) f(x) >>> g g(x) >>> f(x).diff(x) Derivative(f(x), x) >>> g.diff(x) Derivative(g(x), x) - Assumptions can be passed to Function, and if function is initialized with a Symbol, the function inherits the name and assumptions associated with the Symbol: - >>> f_real = Function('f', real=True) >>> f_real(x).is_real True >>> f_real_inherit = Function(Symbol('f', real=True)) >>> f_real_inherit(x).is_real True - Note that assumptions on a function are unrelated to the assumptions on the variable it is called on. If you want to add a relationship, subclass Function and define the appropriate - _eval_is_assumptionmethods.- In the following example Function is used as a base class for - my_functhat represents a mathematical function my_func. Suppose that it is well known, that my_func(0) is 1 and my_func at infinity goes to 0, so we want those two simplifications to occur automatically. Suppose also that my_func(x) is real exactly when x is real. Here is an implementation that honours those requirements:- >>> from sympy import Function, S, oo, I, sin >>> class my_func(Function): ... ... @classmethod ... def eval(cls, x): ... if x.is_Number: ... if x.is_zero: ... return S.One ... elif x is S.Infinity: ... return S.Zero ... ... def _eval_is_real(self): ... return self.args[0].is_real ... >>> x = S('x') >>> my_func(0) + sin(0) 1 >>> my_func(oo) 0 >>> my_func(3.54).n() # Not yet implemented for my_func. my_func(3.54) >>> my_func(I).is_real False - In order for - my_functo become useful, several other methods would need to be implemented. See source code of some of the already implemented functions for more complete examples.- Also, if the function can take more than one argument, then - nargsmust be defined, e.g. if- my_funccan take one or two arguments then,- >>> class my_func(Function): ... nargs = (1, 2) ... >>> - 
as_base_exp()[source]
- Returns the method as the 2-tuple (base, exponent). 
 - 
fdiff(argindex=1)[source]
- Returns the first derivative of the function. 
 - 
property is_commutative
- Returns whether the function is commutative. 
 
- 
Contents¶
- Elementary
- sympy.functions.elementary.complexes
- sympy.functions.elementary.trigonometric
- Trigonometric Functions
- Trigonometric Inverses
- sympy.functions.elementary.hyperbolic
- Hyperbolic Functions
- Hyperbolic Inverses
- sympy.functions.elementary.integers
- sympy.functions.elementary.exponential
- sympy.functions.elementary.piecewise
- sympy.functions.elementary.miscellaneous
- Combinatorial
- Enumeration
- Special- DiracDelta
- Heaviside
- Singularity Function
- Gamma, Beta and related Functions
- Error Functions and Fresnel Integrals
- Exponential, Logarithmic and Trigonometric Integrals
- Bessel Type Functions
- Airy Functions
- B-Splines
- Riemann Zeta and Related Functions
- Hypergeometric Functions
- Elliptic integrals
- Mathieu Functions
- Orthogonal Polynomials
- Spherical Harmonics
- Tensor Functions
 
