Class SparseVector

    • Method Detail

      • size

        public int size()
        The number of used dimensions.

        This is the total number of non-zero dimensions. It is not equal to the number of the highest indexed dimension.

        Returns:
        the number of non-zero dimensions
      • put

        public void put​(int dim,
                        double value)
        Set the value at a particular dimension.

        This silently handles the case when previously there was no value at dim. It does not contract the sparse array if you set a value to zero.

        Parameters:
        dim - the dimension to alter
        value - the new value
      • get

        public double get​(int dim)
        Retrieve the value at dimension dim.
        Parameters:
        dim - the dimension to retrieve a value for
        Returns:
        the value at that dimension
      • getDimAtIndex

        public int getDimAtIndex​(int indx)
        Retrieve the dimension at a specific index.

        E.g., if the sparse vector had dimensions 5, 11, 12, 155 set to non-zero values then sv.getDimAtIndex(2) would return 12.

        Parameters:
        indx - the index
        Returns:
        the dimension stoored at that index
        Throws:
        ArrayIndexOutOfBoundsException - if index >= size.
      • getValueAtIndex

        public double getValueAtIndex​(int indx)
        Retrieve the value at a specific index.

        E.g., if the sparse vector contained the data 5->0.1, 11->100, 12->8.5, 155->-10 then sv.geValueAtIndex(2) would return 8.5.

        Parameters:
        indx - the index
        Returns:
        the value stoored at that index
        Throws:
        ArrayIndexOutOfBoundsException - if index >= size.