Package org.apache.arrow.flatbuf
Class SparseTensorIndexCOO
java.lang.Object
com.google.flatbuffers.Table
org.apache.arrow.flatbuf.SparseTensorIndexCOO
public final class SparseTensorIndexCOO
extends com.google.flatbuffers.Table
----------------------------------------------------------------------
EXPERIMENTAL: Data structures for sparse tensors
Coordinate (COO) format of sparse tensor index.
COO's index list are represented as a NxM matrix,
where N is the number of non-zero values,
and M is the number of dimensions of a sparse tensor.
indicesBuffer stores the location and size of the data of this indices
matrix. The value type and the stride of the indices matrix is
specified in indicesType and indicesStrides fields.
For example, let X be a 2x3x4x5 tensor, and it has the following
6 non-zero values:
```text
X[0, 1, 2, 0] := 1
X[1, 1, 2, 3] := 2
X[0, 2, 1, 0] := 3
X[0, 1, 3, 0] := 4
X[0, 1, 2, 1] := 5
X[1, 2, 0, 4] := 6
```
In COO format, the index matrix of X is the following 4x6 matrix:
```text
[[0, 0, 0, 0, 1, 1],
[1, 1, 1, 2, 1, 2],
[2, 2, 3, 1, 2, 0],
[0, 1, 0, 0, 3, 4]]
```
When isCanonical is true, the indices is sorted in lexicographical order
(row-major order), and it does not have duplicated entries. Otherwise,
the indices may not be sorted, or may have duplicated entries.
-
Nested Class Summary
-
Field Summary
Fields inherited from class com.google.flatbuffers.Table
bb, bb_pos
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription__assign
(int _i, ByteBuffer _bb) void
__init
(int _i, ByteBuffer _bb) static void
addIndicesBuffer
(com.google.flatbuffers.FlatBufferBuilder builder, int indicesBufferOffset) static void
addIndicesStrides
(com.google.flatbuffers.FlatBufferBuilder builder, int indicesStridesOffset) static void
addIndicesType
(com.google.flatbuffers.FlatBufferBuilder builder, int indicesTypeOffset) static void
addIsCanonical
(com.google.flatbuffers.FlatBufferBuilder builder, boolean isCanonical) static int
createIndicesStridesVector
(com.google.flatbuffers.FlatBufferBuilder builder, long[] data) static int
endSparseTensorIndexCOO
(com.google.flatbuffers.FlatBufferBuilder builder) static SparseTensorIndexCOO
static SparseTensorIndexCOO
The location and size of the indices matrix's dataindicesBuffer
(Buffer obj) long
indicesStrides
(int j) Non-negative byte offsets to advance one value cell along each dimension If omitted, default to row-major order (C-like).int
com.google.flatbuffers.LongVector
com.google.flatbuffers.LongVector
indicesStridesVector
(com.google.flatbuffers.LongVector obj) The type of values in indicesBufferindicesType
(Int obj) boolean
This flag is true if and only if the indices matrix is sorted in row-major order, and does not have duplicated entries.static void
startIndicesStridesVector
(com.google.flatbuffers.FlatBufferBuilder builder, int numElems) static void
startSparseTensorIndexCOO
(com.google.flatbuffers.FlatBufferBuilder builder) static void
Methods inherited from class com.google.flatbuffers.Table
__has_identifier, __indirect, __indirect, __offset, __offset, __reset, __reset, __string, __string, __union, __union, __vector, __vector_as_bytebuffer, __vector_in_bytebuffer, __vector_len, compareStrings, compareStrings, getByteBuffer, keysCompare, sortTables
-
Constructor Details
-
SparseTensorIndexCOO
public SparseTensorIndexCOO()
-
-
Method Details
-
ValidateVersion
public static void ValidateVersion() -
getRootAsSparseTensorIndexCOO
-
getRootAsSparseTensorIndexCOO
public static SparseTensorIndexCOO getRootAsSparseTensorIndexCOO(ByteBuffer _bb, SparseTensorIndexCOO obj) -
__init
-
__assign
-
indicesType
The type of values in indicesBuffer -
indicesType
-
indicesStrides
public long indicesStrides(int j) Non-negative byte offsets to advance one value cell along each dimension If omitted, default to row-major order (C-like). -
indicesStridesLength
public int indicesStridesLength() -
indicesStridesVector
public com.google.flatbuffers.LongVector indicesStridesVector() -
indicesStridesVector
public com.google.flatbuffers.LongVector indicesStridesVector(com.google.flatbuffers.LongVector obj) -
indicesStridesAsByteBuffer
-
indicesStridesInByteBuffer
-
indicesBuffer
The location and size of the indices matrix's data -
indicesBuffer
-
isCanonical
public boolean isCanonical()This flag is true if and only if the indices matrix is sorted in row-major order, and does not have duplicated entries. This sort order is the same as of Tensorflow's SparseTensor, but it is inverse order of SciPy's canonical coo_matrix (SciPy employs column-major order for its coo_matrix). -
startSparseTensorIndexCOO
public static void startSparseTensorIndexCOO(com.google.flatbuffers.FlatBufferBuilder builder) -
addIndicesType
public static void addIndicesType(com.google.flatbuffers.FlatBufferBuilder builder, int indicesTypeOffset) -
addIndicesStrides
public static void addIndicesStrides(com.google.flatbuffers.FlatBufferBuilder builder, int indicesStridesOffset) -
createIndicesStridesVector
public static int createIndicesStridesVector(com.google.flatbuffers.FlatBufferBuilder builder, long[] data) -
startIndicesStridesVector
public static void startIndicesStridesVector(com.google.flatbuffers.FlatBufferBuilder builder, int numElems) -
addIndicesBuffer
public static void addIndicesBuffer(com.google.flatbuffers.FlatBufferBuilder builder, int indicesBufferOffset) -
addIsCanonical
public static void addIsCanonical(com.google.flatbuffers.FlatBufferBuilder builder, boolean isCanonical) -
endSparseTensorIndexCOO
public static int endSparseTensorIndexCOO(com.google.flatbuffers.FlatBufferBuilder builder)
-