Class AbstractCooFieldTensor<T extends AbstractCooFieldTensor<T,U,V>,U extends AbstractDenseFieldTensor<U,V>,V extends Field<V>>

Type Parameters:
T - Type of this sparse COO tensor.
U - Type of dense tensor equivalent to T. This type parameter is required because some operations (e.g. AbstractCooSemiringTensor.tensorDot(AbstractCooSemiringTensor, int[], int[]) between two sparse tensors results in a dense tensor.
V - Type of the Field which the data of this tensor belong to.
All Implemented Interfaces:
Serializable, FieldTensorMixin<T,T,V>, TensorOverField<T,T,V[],V>, RingTensorMixin<T,T,V>, TensorOverRing<T,T,V[],V>, SemiringTensorMixin<T,T,V>, TensorOverSemiring<T,T,V[],V>
Direct Known Subclasses:
CooCTensor, CooFieldTensor

public abstract class AbstractCooFieldTensor<T extends AbstractCooFieldTensor<T,U,V>,U extends AbstractDenseFieldTensor<U,V>,V extends Field<V>> extends AbstractCooRingTensor<T,U,V> implements FieldTensorMixin<T,T,V>

Base class for all sparse Field tensors stored in coordinate list (COO) format. The data of this COO tensor are elements of a Field.

The non-zero data and non-zero indices of a COO tensor are mutable but the AbstractTensor.shape and total number of non-zero data is fixed.

Sparse tensors allow for the efficient storage of and ops on tensors that contain many zero values.

COO tensors are optimized for hyper-sparse tensors (i.e. tensors which contain almost all zeros relative to the size of the tensor).

A sparse COO tensor is stored as:

See Also: