Linear algebra¤
phydrax.operators.einsum(subscript: str, /, *operands: DomainFunction | ArrayLike) -> DomainFunction
¤
Einstein summation of DomainFunction and/or constant array operands.
Given operands \(u^{(1)}(z),\dots,u^{(k)}(z)\) (each either a DomainFunction
or a constant array-like), returns the pointwise contraction specified by
subscript, i.e.
Domains are joined across DomainFunction operands before evaluation.
Constant operands are broadcast by einsum and do not contribute domain deps.
Arguments:
subscript: Einsum subscript string (as inopt_einsum.contract).operands: One or more operands (DomainFunctionor array-like). At least one operand must be aDomainFunction.
Returns:
- A
DomainFunctionrepresenting the contracted result.
phydrax.operators.norm(u: DomainFunction, /, *, order: int = 2) -> DomainFunction
¤
Pointwise vector norm of a DomainFunction.
Interprets the last axis of \(u(z)\) as a vector and returns
where order=p. If \(u(z)\) is scalar, this returns \(|u(z)|\).
Arguments:
u: Input function.order: Norm order \(p\) passed tojax.numpy.linalg.norm(ord=p).
phydrax.operators.trace(u: DomainFunction) -> DomainFunction
¤
Pointwise matrix trace.
Interprets the last two axes of \(u(z)\) as a matrix and returns \(\text{tr}(u(z))\).
Arguments:
u: InputDomainFunctionwhose values have at least two trailing axes.
Returns:
- A
DomainFunctionrepresenting the scalar trace field.
phydrax.operators.det(u: DomainFunction) -> DomainFunction
¤
Pointwise matrix determinant.
Interprets the last two axes of \(u(z)\) as a square matrix and returns \(\det(u(z))\).
Arguments:
u: InputDomainFunctionwhose values have trailing shape(n, n).
Returns:
- A
DomainFunctionrepresenting the scalar determinant field.