api.ast.linalg#

Functions#

Mod(a, b)

compute_diag_len(p, md, mc[, return_padding])

toInteger(a)

variable_to_sympy(x)

Classes#

Inheritance diagram of psydac.api.ast.linalg

LinearOperatorDot(ndim, block_shape[, comm])

Generate the Matrix Vector Product function for a BlockLinearOperator,StencilMatrix or StencilInterfaceMatrix.

VectorInner(ndim[, backend])

Details#

variable_to_sympy(x)[source]#
compute_diag_len(p, md, mc, return_padding=False)[source]#
Mod(a, b)[source]#
toInteger(a)[source]#
class LinearOperatorDot(ndim, block_shape, comm=None, **kwargs)[source]#

Bases: SplBasic

Generate the Matrix Vector Product function for a BlockLinearOperator,StencilMatrix or StencilInterfaceMatrix. In case of a BlockLinearOperator we give the number of blocks along the rows and columns specified with the block_shape. In case of StencilMatrix or StencilInterfaceMatrix the block_shape = (1,1).

Parameters:
ndimint

Number of dimensions.

block_shape: tuple of ints

The number of blocks along the rows and columns.

comm: MPI.Comm

MPI intra-communicator.

property func#

The top-level function in an expression.

The following should hold for all objects:

>> x == x.func(*x.args)

Examples

>>> from sympy.abc import x
>>> a = 2*x
>>> a.func
<class 'sympy.core.mul.Mul'>
>>> a.args
(2, x)
>>> a.func(*a.args)
2*x
>>> a == a.func(*a.args)
True
property arguments#
property code#
property folder#
default_assumptions = {}#
class VectorInner(ndim, backend=None)[source]#

Bases: SplBasic

property ndim#
property func#

The top-level function in an expression.

The following should hold for all objects:

>> x == x.func(*x.args)

Examples

>>> from sympy.abc import x
>>> a = 2*x
>>> a.func
<class 'sympy.core.mul.Mul'>
>>> a.args
(2, x)
>>> a.func(*a.args)
2*x
>>> a == a.func(*a.args)
True
property backend#
default_assumptions = {}#