Class MixedTensor

java.lang.Object
com.yahoo.tensor.MixedTensor
All Implemented Interfaces:
Tensor

public class MixedTensor extends Object implements Tensor
A mixed tensor type. This is class is currently suitable for serialization and deserialization, not yet for computation. A mixed tensor has a combination of mapped and indexed dimensions. By reordering the mapped dimensions before the indexed dimensions, one can think of mixed tensors as the mapped dimensions mapping to a dense tensor. This dense tensor is called a dense subspace.
Author:
lesters
  • Method Details

    • type

      public TensorType type()
      Returns the tensor type
      Specified by:
      type in interface Tensor
    • size

      public long size()
      Returns the size of the tensor measured in number of cells
      Specified by:
      size in interface Tensor
    • get

      public double get(TensorAddress address)
      Returns the value at the given address
      Specified by:
      get in interface Tensor
    • has

      public boolean has(TensorAddress address)
      Description copied from interface: Tensor
      Returns true if this cell exists
      Specified by:
      has in interface Tensor
    • cellIterator

      public Iterator<Tensor.Cell> cellIterator()
      Returns an iterator over the cells of this tensor. Cells are returned in order of increasing indexes in the indexed dimensions, increasing indexes of later dimensions in the dimension type before earlier. No guarantee is given for the order of sparse dimensions.
      Specified by:
      cellIterator in interface Tensor
    • valueIterator

      public Iterator<Double> valueIterator()
      Returns an iterator over the values of this tensor. The iteration order is the same as for cellIterator.
      Specified by:
      valueIterator in interface Tensor
    • cells

      public Map<TensorAddress,Double> cells()
      Description copied from interface: Tensor
      Returns an immutable map of the cells of this in no particular order. This may be expensive for some implementations - avoid when possible
      Specified by:
      cells in interface Tensor
    • withType

      public Tensor withType(TensorType other)
      Description copied from interface: Tensor
      Returns this tensor with the given type if types are compatible
      Specified by:
      withType in interface Tensor
    • remove

      public Tensor remove(Set<TensorAddress> addresses)
      Description copied from interface: Tensor
      Returns a new tensor where existing cells in this tensor have been removed according to the given set of addresses. Only valid for sparse or mixed tensors. For mixed tensors, addresses are assumed to only contain the sparse dimensions, as the entire dense subspace is removed.
      Specified by:
      remove in interface Tensor
      Parameters:
      addresses - list of addresses to remove
      Returns:
      a new tensor where cells have been removed
    • hashCode

      public int hashCode()
      Description copied from interface: Tensor
      Returns a hash computed deterministically from the content of this tensor
      Specified by:
      hashCode in interface Tensor
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Description copied from interface: Tensor
      Returns this tensor on the tensor literal form with type included.
      Specified by:
      toString in interface Tensor
      Overrides:
      toString in class Object
    • toString

      public String toString(boolean withType, boolean shortForms)
      Description copied from interface: Tensor
      Returns this tensor on the tensor literal form.
      Specified by:
      toString in interface Tensor
      Parameters:
      withType - whether to prefix the value by the type of this
      shortForms - whether to use short forms where applicable, or always using the verbose form
    • toAbbreviatedString

      public String toAbbreviatedString(boolean withType, boolean shortForms)
      Description copied from interface: Tensor
      Returns an abbreviated string representation of this tensor suitable for human-readable messages
      Specified by:
      toAbbreviatedString in interface Tensor
      Parameters:
      withType - whether to prefix the value by the type of this
      shortForms - whether to use short forms where applicable, or always using the verbose form
    • equals

      public boolean equals(Object other)
      Description copied from interface: Tensor
      Returns whether this tensor and the given tensor is mathematically equal: That they have the same dimension *names* and the same content.
      Specified by:
      equals in interface Tensor
      Overrides:
      equals in class Object
    • denseSubspaceSize

      public long denseSubspaceSize()
      Returns the size of dense subspaces
    • createPartialType

      public static TensorType createPartialType(TensorType.Value valueType, List<TensorType.Dimension> dimensions)