jax.experimental.sparse.bcoo_update_layout#
- jax.experimental.sparse.bcoo_update_layout(mat, *, n_batch=None, n_dense=None, on_inefficient='error')[source]#
更新 BCOO 矩阵的存储布局(即 n_batch 和 n_dense)。
在许多情况下,这可以在不引入过多存储开销的情况下完成。但是,增加
mat.n_batch
或mat.n_dense
将导致非常低效的存储,具有许多显式存储的零,除非新的批次或密集维度的大小为 0 或 1。在这种情况下,bcoo_update_layout
将引发SparseEfficiencyError
。可以通过指定on_inefficient
参数来抑制此警告。- 参数:
- 返回:
- BCOO 数组
一个 BCOO 数组,表示与输入相同的稀疏数组,但具有指定的布局。
mat_out.todense()
将与mat.todense()
相匹配,直至达到相应的精度。
- 返回类型:
mat_out