adam.core.array_api_math#
Classes#
Generic Array-API-style wrapper used by NumPy/JAX/Torch backends. |
|
Generic factory. Give it (a) a Like class and (b) an xp namespace |
|
A drop-in SpatialMath that implements sin/cos/outer/concat/skew with the Array API. |
Functions#
|
|
|
Module Contents#
- class adam.core.array_api_math.ArrayAPILike[source]#
Bases:
adam.core.spatial_math.ArrayLikeGeneric Array-API-style wrapper used by NumPy/JAX/Torch backends.
- __getitem__(idx) ArrayAPILike[source]#
- property T: ArrayAPILike[source]#
Transpose of the array
- Type:
Returns
- __rmatmul__(other) ArrayAPILike[source]#
- __mul__(other) ArrayAPILike[source]#
- __rmul__(other) ArrayAPILike[source]#
- __truediv__(other) ArrayAPILike[source]#
- __add__(other) ArrayAPILike[source]#
- __radd__(other) ArrayAPILike[source]#
- __sub__(other) ArrayAPILike[source]#
- __rsub__(other) ArrayAPILike[source]#
- __neg__() ArrayAPILike[source]#
- class adam.core.array_api_math.ArrayAPIFactory(like_cls, xp, *, dtype=None, device=None)[source]#
Bases:
adam.core.spatial_math.ArrayLikeFactoryGeneric factory. Give it (a) a Like class and (b) an xp namespace (array_api_compat.* if available; otherwise the library module).
- zeros(*shape) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – matrix dimension
- Returns:
zero matrix of dimension x
- Return type:
npt.ArrayLike
- eye(*shape) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – matrix dimension
- Returns:
identity matrix of dimension x
- Return type:
npt.ArrayLike
- asarray(x) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – array
- Returns:
array
- Return type:
npt.ArrayLike
- zeros_like(x: ArrayAPILike) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – array
- Returns:
one array with the same shape as x
- Return type:
npt.ArrayLike
- ones_like(x: ArrayAPILike) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – array
- Returns:
one array with the same shape as x
- Return type:
npt.ArrayLike
- tile(x: ArrayAPILike, reps: tuple) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – input array
reps (tuple) – repetition factors for each dimension
- Returns:
tiled array
- Return type:
npt.ArrayLike
- class adam.core.array_api_math.ArrayAPISpatialMath(factory, xp_getter: Callable[Ellipsis, Any] = xp_getter)[source]#
Bases:
adam.core.spatial_math.SpatialMathA drop-in SpatialMath that implements sin/cos/outer/concat/skew with the Array API.
Works for NumPy, PyTorch, and JAX; CasADi should keep its own subclass.
- sin(x)[source]#
- Parameters:
x (npt.ArrayLike) – angle value
- Returns:
sin value of x
- Return type:
npt.ArrayLike
- cos(x)[source]#
- Parameters:
x (npt.ArrayLike) – angle value
- Returns:
cos value of angle x
- Return type:
npt.ArrayLike
- vertcat(*x)[source]#
- Parameters:
x (npt.ArrayLike) – elements
- Returns:
vertical concatenation of elements x
- Return type:
npt.ArrayLike
- horzcat(*x)[source]#
- Parameters:
x (npt.ArrayLike) – elements
- Returns:
horizontal concatenation of elements x
- Return type:
npt.ArrayLike
- stack(x, axis=0)[source]#
- Parameters:
x (npt.ArrayLike) – elements
axis (int) – axis along which to stack
- Returns:
stacked elements x along axis
- Return type:
npt.ArrayLike
- concatenate(x, axis=0)[source]#
- Parameters:
x (npt.ArrayLike) – elements
axis (int) – axis along which to concatenate
- Returns:
concatenation of elements x along axis
- Return type:
npt.ArrayLike
- swapaxes(x: ArrayAPILike, axis1: int, axis2: int) ArrayAPILike[source]#
- expand_dims(x: ArrayAPILike, axis: int) ArrayAPILike[source]#
- transpose(x: ArrayAPILike, dims: tuple) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – input array
dims (tuple) – permutation of dimensions
- Returns:
transposed array
- Return type:
npt.ArrayLike
- inv(x: ArrayAPILike) ArrayAPILike[source]#
- Parameters:
x (npt.ArrayLike) – input array
- Returns:
inverse of the array
- Return type:
npt.ArrayLike
- mtimes(A: ArrayAPILike, B: ArrayAPILike) ArrayAPILike[source]#
- solve(A: ArrayAPILike, B: ArrayAPILike) ArrayAPILike[source]#