Operators#

class sage.symbolic.operators.DerivativeOperator#

Bases: object

Derivative operator.

Acting with this operator onto a function gives a new operator (of type FDerivativeOperator) representing the function differentiated with respect to one or multiple of its arguments.

This operator takes a list of indices specifying the position of the arguments to differentiate. For example, D[0, 0, 1] is an operator that differentiates a function twice with respect to its first argument and once with respect to its second argument.

EXAMPLES:

sage: x, y = var('x,y'); f = function('f')
sage: D[0](f)(x)
diff(f(x), x)
sage: D[0](f)(x, y)
diff(f(x, y), x)
sage: D[0, 1](f)(x, y)
diff(f(x, y), x, y)
sage: D[0, 1](f)(x, x^2)
D[0, 1](f)(x, x^2)
class DerivativeOperatorWithParameters(parameter_set)#

Bases: object

class sage.symbolic.operators.FDerivativeOperator(function, parameter_set)#

Bases: object

Function derivative operators.

A function derivative operator represents a partial derivative of a function with respect to some variables.

The underlying data are the function, and the parameter set, a list recording the indices of the variables with respect to which the partial derivative is taken.

change_function(new)#

Return a new function derivative operator with the same parameter set but for a new function.

EXAMPLES:

sage: from sage.symbolic.operators import FDerivativeOperator
sage: f = function('foo')
sage: b = function('bar')
sage: op = FDerivativeOperator(f, [0, 1])
sage: op.change_function(bar)
D[0, 1](bar)
function()#

Return the function associated to this function derivative operator.

EXAMPLES:

sage: from sage.symbolic.operators import FDerivativeOperator
sage: f = function('foo')
sage: op = FDerivativeOperator(f, [0, 1])
sage: op.function()
foo
parameter_set()#

Return the parameter set of this function derivative operator.

This is the list of indices of variables with respect to which the derivative is taken.

EXAMPLES:

sage: from sage.symbolic.operators import FDerivativeOperator
sage: f = function('foo')
sage: op = FDerivativeOperator(f, [0, 1])
sage: op.parameter_set()
[0, 1]
sage.symbolic.operators.add_vararg(first, *rest)#

Return the sum of all the arguments.

INPUT:

  • first, *rest – arguments to add

OUTPUT: sum of the arguments

EXAMPLES:

sage: from sage.symbolic.operators import add_vararg
sage: add_vararg(1, 2, 3, 4, 5, 6, 7)
28
sage: x = SR.var('x')
sage: s = 1 + x + x^2  # symbolic sum
sage: bool(s.operator()(*s.operands()) == s)
True
sage.symbolic.operators.mul_vararg(first, *rest)#

Return the product of all the arguments.

INPUT:

  • first, *rest – arguments to multiply

OUTPUT: product of the arguments

EXAMPLES:

sage: from sage.symbolic.operators import mul_vararg
sage: mul_vararg(9, 8, 7, 6, 5, 4)
60480
sage: x = SR.var('x')
sage: p = x * cos(x) * sin(x)  # symbolic product
sage: bool(p.operator()(*p.operands()) == p)
True