What’s new ?
with
context. The rule trigger none
is
implemented and it inhibits all algebraic simplifications if set to
True.*
is now context-dependent:
composition for linear operators and element-wise multiplication
otherwise.DenseBlockDiagonalOperator
initialised with an array of shape (L, 1, M, N) by a tensor of shape
(P, N) gives a tensor of shape (L, P, M)DenseBlockDiagonalOperators
: multiplying two of
them initialised with arrays of shapes (K, 1, M, N) and (L, N, P)
gives a DenseBlockDiagonalOperator initialised with an array of
shape (K, L, M, P)DenseOperator
is now implicit shape and broadcastable: an
M×N DenseOperator
multiplied by a tensor of shape (P, Q, N)
gives a tensor of shape (P, Q, M).asoperator
return an explicit shape DiagonalOperator
,
DenseOperator
or DenseBlockDiagonalOperator
for arrays of
dimensions 1, 2 or more if the keyword constant
is not set to
True.PowerOperator
, ReciprocalOperator
, SqrtOperator
and SquareOperator
.reshape_broadcast
to reshape an array to a broadcastable shape,
by using 0-strides along the missing dimensionsbroadcast_shapes
to return the shape of the output obtained by
broadcasting arrays of given shapesreverse
option for first
, first_is_not
, ifirst
and
ifirst_is_not
.__str__
for non-linear operators.abs2
, which returns the square modulus of a complex
input.isscalarlike
instead of isscalar
.Under the hood:
PyOperatorsWarning
and PyOperatorsDeprecationWarnings
.decorators
module -> flags
.rules
module.CopyOperator
.