Class DefaultSparseGenericMatrix<A>

    • Field Detail

      • values

        protected final java.util.Map<Coordinates,​A> values
      • maximumNumberOfEntries

        private int maximumNumberOfEntries
    • Constructor Detail

      • DefaultSparseGenericMatrix

        public DefaultSparseGenericMatrix​(Matrix m)
      • DefaultSparseGenericMatrix

        public DefaultSparseGenericMatrix​(Matrix m,
                                          int maximumNumberOfEntries)
      • DefaultSparseGenericMatrix

        public DefaultSparseGenericMatrix​(long... size)
    • Method Detail

      • setSize

        public void setSize​(long... size)
        Description copied from interface: BaseMatrixProperties
        Sets the size of the matrix. This is an optional method that is not implemented for all matrices. If this method is not implemented, a MatrixException is thrown.
        Specified by:
        setSize in interface BaseMatrixProperties
        Overrides:
        setSize in class AbstractMatrix
        Parameters:
        size - the new size of the matrix
      • getObject

        public A getObject​(long... coordinates)
      • availableCoordinates

        public java.lang.Iterable<long[]> availableCoordinates()
        Description copied from interface: CoordinateFunctions
        Returns an Iterator that only goes over the coordinates in the Matrix that are stored. For most Matrices, this is the same as allCoordinates(). For sparse Matrices, it iterates only over the entries in it.
        Returns:
        Iterable over the saved entries in a Matrix.
      • containsCoordinates

        public boolean containsCoordinates​(long... coordinates)
        Description copied from interface: CoordinateFunctions
        Determines if the given Coordinates are part of the Matrix. If the Matrix is dense, true is returned for all Coordinates smaller than the Matrix's size. For sparse Matrices, this function checks if the coordinates are actually stored in the matrix or not.
        Parameters:
        coordinates - The coordinates to check
        Returns:
        a boolean stating if the coordinates are part of the Matrix
      • getAsDouble

        public double getAsDouble​(long... coordinates)
        Description copied from interface: GettersAndSetters
        Returns a double representation of an entry in the matrix. The stored value will be converted to a double as good as possible.
        Specified by:
        getAsDouble in interface GettersAndSetters
        Overrides:
        getAsDouble in class AbstractMatrix
        Parameters:
        coordinates - location of the entry
        Returns:
        a double representation of the entry @
      • setAsDouble

        public void setAsDouble​(double value,
                                long... coordinates)
        Description copied from interface: GettersAndSetters
        Sets an entry in the matrix to a double value. If the matrix cannot store double values, the value will be represented as good as possible.
        Specified by:
        setAsDouble in interface GettersAndSetters
        Overrides:
        setAsDouble in class AbstractMatrix
        Parameters:
        value - double value
        coordinates - location of the entry @
      • clear

        public final void clear()