dedalus.core.arithmetic

Arithmetic operators.

Module Contents

class Add(*args, out=None, **kw)

Addition operator.

build_ncc_matrices(separability, vars, **kw)

Precompute non-constant coefficients and build multiplication matrices.

expand(*vars)

Expand expression over specified variables.

expression_matrices(subproblem, vars, **kw)

Build expression matrices for a specific subproblem and variables.

matrix_coupling(*vars)
matrix_dependence(*vars)
new_operands(arg0, arg1, **kw)
reinitialize(**kw)
require_first_order(*args, **kw)

Require expression to be maximally first order in specified operators.

require_linearity(*args, **kw)

Require expression to be linear in specified variables.

split(*vars)

Split into expressions containing and not containing specified operands/operators.

sym_diff(var)

Symbolically differentiate with respect to specified operand.

property base
name = 'Add'
class CrossProduct(arg0, arg1, out=None, **kw)

Cross product on two 3D vector fields.

GammaCoord(A_tensorsig, B_tensorsig, C_tensorsig)
new_operands(arg0, arg1, **kw)
operate_left_handed(out)
operate_right_handed(out)
arg0_ghost_broadcaster
arg1_ghost_broadcaster
domain
dtype
name = 'Cross'
tensorsig
class DotProduct(arg0, arg1, indices=(-1, 0), out=None, **kw)

Base class for deferred operations on data.

Parameters:
  • *args (Operands) – Operands. Number must match class attribute arity, if present.

  • out (data, optional) – Output data object. If not specified, a new object will be used.

Notes

Operators are stacked (i.e. provided as arguments to other operators) to construct trees that represent compound expressions. Nodes are evaluated by first recursively evaluating their subtrees, and then calling the operate method.

GammaCoord(A_tensorsig, B_tensorsig, C_tensorsig)
get_einsum_path(arg0_data, arg1_data)
new_operands(arg0, arg1, **kw)
operate(out)

Perform operation.

arg0_ghost_broadcaster
arg1_ghost_broadcaster
domain
dtype
einsum_path = None
einsum_str
gamma_args
indices
name = 'Dot'
ncc_method = 'dot_product_ncc'
tensorsig
class Multiply(*args, out=None)

Multiplication operator.

GammaCoord(A_tensorsig, B_tensorsig, C_tensorsig)
new_operands(arg0, arg1, **kw)
name = 'Mul'