lacuna.array_api.creation#

Functions

arange(start[, stop, step, dtype, device])

asarray(obj, /, *[, dtype, device, copy])

empty(shape, *[, dtype, device])

empty_like(x, *[, dtype, device])

eye(n_rows[, n_cols, k, dtype, device])

Create an identity matrix (Array API compliant).

from_dlpack(dlpack_obj)

full(shape, fill_value, *[, dtype, device])

full_like(x, fill_value, *[, dtype, device])

linspace(start, stop, num, *[, dtype, device])

meshgrid(*arrays[, indexing])

ones(shape, *[, dtype, device])

ones_like(x, *[, dtype, device])

tril(x[, k])

triu(x[, k])

zeros(shape, *[, dtype, device])

Create a sparse zero matrix (Array API compliant).

zeros_like(x, *[, dtype, device])

lacuna.array_api.creation.arange(start, stop=None, step=1, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.asarray(obj, /, *, dtype=None, device=None, copy=None)[source]#
lacuna.array_api.creation.empty(shape, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.empty_like(x, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.eye(n_rows, n_cols=None, k=0, *, dtype=None, device=None)[source]#

Create an identity matrix (Array API compliant).

Parameters:
  • n_rows (int) – Number of rows (for square matrix, this is the size).

  • n_cols (int, optional) – Number of columns (if None, creates square matrix).

  • k (int, optional) – Diagonal offset (default: 0 for main diagonal).

  • dtype (dtype, optional) – Data type (default: float64).

  • device (str, optional) – Device (default: “cpu”).

Returns:

Identity matrix using Rust backend.

Return type:

CSR

Notes

Currently only supports k=0 (main diagonal) and square matrices.

Examples

>>> import lacuna.array_api as xp
>>> I = xp.eye(5)
>>> I.sum()
5.0
lacuna.array_api.creation.from_dlpack(dlpack_obj)[source]#
lacuna.array_api.creation.full(shape, fill_value, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.full_like(x, fill_value, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.linspace(start, stop, num, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.meshgrid(*arrays, indexing='xy')[source]#
lacuna.array_api.creation.ones(shape, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.ones_like(x, *, dtype=None, device=None)[source]#
lacuna.array_api.creation.tril(x, k=0)[source]#
lacuna.array_api.creation.triu(x, k=0)[source]#
lacuna.array_api.creation.zeros(shape, *, dtype=None, device=None)[source]#

Create a sparse zero matrix (Array API compliant).

Parameters:
  • shape (tuple of int) – Matrix shape (nrows, ncols).

  • dtype (dtype, optional) – Data type (default: float64).

  • device (str, optional) – Device (default: “cpu”).

Returns:

Sparse zero matrix using Rust backend.

Return type:

CSR

Examples

>>> import lacuna.array_api as xp
>>> A = xp.zeros((10, 20))
>>> A.nnz
0
lacuna.array_api.creation.zeros_like(x, *, dtype=None, device=None)[source]#