org.apache.commons.math3.linear

## Class SparseFieldVector<T extends FieldElement<T>>

- java.lang.Object
- - org.apache.commons.math3.linear.SparseFieldVector<T>

- Type Parameters:
    `T` - the type of the field elements
  All Implemented Interfaces:
    Serializable, FieldVector<T>

  Deprecated.
  As of version 3.1, this class is deprecated, for reasons exposed in this JIRA ticket. This class will be removed in version 4.0.

      @Deprecated
      public class SparseFieldVector<T extends FieldElement<T>>
      extends Object
      implements FieldVector<T>, Serializable

  This class implements the `FieldVector` interface with a `OpenIntToFieldHashMap` backing store.
  Since:
    2.0
  Version:
    $Id: SparseFieldVector.java 1416643 2012-12-03 19:37:14Z tn $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private OpenIntToFieldHashMap<T>` | `entries` Deprecated. Entries of the vector.
    `private Field<T>` | `field` Deprecated. Field to which the elements belong.
    `private static long` | `serialVersionUID` Deprecated. Serialization identifier.
    `private int` | `virtualSize` Deprecated. Dimension of the vector.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `SparseFieldVector(Field<T> field)` Deprecated. Build a 0-length vector.
    `` | `SparseFieldVector(Field<T> field, int dimension)` Deprecated. Construct a vector of zeroes.
    `` | `SparseFieldVector(Field<T> field, int dimension, int expectedSize)` Deprecated. Build a vector with known the sparseness (for advanced use only).
    `` | `SparseFieldVector(Field<T> field, T[] values)` Deprecated. Create from a Field array.
    `` | `SparseFieldVector(SparseFieldVector<T> v)` Deprecated. Copy constructor.
    `protected` | `SparseFieldVector(SparseFieldVector<T> v, int resize)` Deprecated. Build a resized vector, for use with append.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `FieldVector<T>` | `add(FieldVector<T> v)` Deprecated. Compute the sum of `this` and `v`.
    `FieldVector<T>` | `add(SparseFieldVector<T> v)` Deprecated. Optimized method to add sparse vectors.
    `FieldVector<T>` | `append(FieldVector<T> v)` Deprecated. Construct a vector by appending a vector to this vector.
    `FieldVector<T>` | `append(SparseFieldVector<T> v)` Deprecated. Construct a vector by appending a vector to this vector.
    `FieldVector<T>` | `append(T d)` Deprecated. Construct a vector by appending a T to this vector.
    `private T[]` | `buildArray(int length)` Deprecated. Build an array of elements.
    `private void` | `checkIndex(int index)` Deprecated. Check whether an index is valid.
    `protected void` | `checkVectorDimensions(int n)` Deprecated. Check if instance dimension is equal to some expected value.
    `FieldVector<T>` | `copy()` Deprecated. Returns a (deep) copy of this.
    `T` | `dotProduct(FieldVector<T> v)` Deprecated. Compute the dot product.
    `FieldVector<T>` | `ebeDivide(FieldVector<T> v)` Deprecated. Element-by-element division.
    `FieldVector<T>` | `ebeMultiply(FieldVector<T> v)` Deprecated. Element-by-element multiplication.
    `boolean` | `equals(Object obj)` Deprecated.
    `T[]` | `getData()` Deprecated. as of 3.1, to be removed in 4.0. Please use the `toArray()` method instead.
    `int` | `getDimension()` Deprecated. Returns the size of the vector.
    `private OpenIntToFieldHashMap<T>` | `getEntries()` Deprecated. Get the entries of this instance.
    `T` | `getEntry(int index)` Deprecated. Returns the entry in the specified index.
    `Field<T>` | `getField()` Deprecated. Get the type of field elements of the vector.
    `FieldVector<T>` | `getSubVector(int index, int n)` Deprecated. Get a subvector from consecutive elements.
    `int` | `hashCode()` Deprecated.
    `FieldVector<T>` | `mapAdd(T d)` Deprecated. Map an addition operation to each entry.
    `FieldVector<T>` | `mapAddToSelf(T d)` Deprecated. Map an addition operation to each entry.
    `FieldVector<T>` | `mapDivide(T d)` Deprecated. Map a division operation to each entry.
    `FieldVector<T>` | `mapDivideToSelf(T d)` Deprecated. Map a division operation to each entry.
    `FieldVector<T>` | `mapInv()` Deprecated. Map the 1/x function to each entry.
    `FieldVector<T>` | `mapInvToSelf()` Deprecated. Map the 1/x function to each entry.
    `FieldVector<T>` | `mapMultiply(T d)` Deprecated. Map a multiplication operation to each entry.
    `FieldVector<T>` | `mapMultiplyToSelf(T d)` Deprecated. Map a multiplication operation to each entry.
    `FieldVector<T>` | `mapSubtract(T d)` Deprecated. Map a subtraction operation to each entry.
    `FieldVector<T>` | `mapSubtractToSelf(T d)` Deprecated. Map a subtraction operation to each entry.
    `FieldMatrix<T>` | `outerProduct(FieldVector<T> v)` Deprecated. Compute the outer product.
    `FieldMatrix<T>` | `outerProduct(SparseFieldVector<T> v)` Deprecated. Optimized method to compute outer product when both vectors are sparse.
    `FieldVector<T>` | `projection(FieldVector<T> v)` Deprecated. Find the orthogonal projection of this vector onto another vector.
    `void` | `set(T value)` Deprecated. Set all elements to a single value.
    `void` | `setEntry(int index, T value)` Deprecated. Set a single element.
    `void` | `setSubVector(int index, FieldVector<T> v)` Deprecated. Set a set of consecutive elements.
    `FieldVector<T>` | `subtract(FieldVector<T> v)` Deprecated. Compute `this` minus `v`.
    `SparseFieldVector<T>` | `subtract(SparseFieldVector<T> v)` Deprecated. Optimized method to compute `this` minus `v`.
    `T[]` | `toArray()` Deprecated. Convert the vector to a T array.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Deprecated.
      Serialization identifier.
      See Also:
        Constant Field Values

    - #### field

          private final Field<T extends FieldElement<T>> field

      Deprecated.
      Field to which the elements belong.

    - #### entries

          private final OpenIntToFieldHashMap<T extends FieldElement<T>> entries

      Deprecated.
      Entries of the vector.

    - #### virtualSize

          private final int virtualSize

      Deprecated.
      Dimension of the vector.

  - ### Constructor Detail

    - #### SparseFieldVector

          public SparseFieldVector(Field<T> field)

      Deprecated.
      Build a 0-length vector. Zero-length vectors may be used to initialize construction of vectors by data gathering. We start with zero-length and use either the `SparseFieldVector(SparseFieldVector, int)` constructor or one of the `append` method (`append(FieldVector)` or `append(SparseFieldVector)`) to gather data into this vector.
      Parameters:
        `field` - Field to which the elements belong.

    - #### SparseFieldVector

          public SparseFieldVector(Field<T> field,
                           int dimension)

      Deprecated.
      Construct a vector of zeroes.
      Parameters:
        `field` - Field to which the elements belong.
        `dimension` - Size of the vector.

    - #### SparseFieldVector

          protected SparseFieldVector(SparseFieldVector<T> v,
                           int resize)

      Deprecated.
      Build a resized vector, for use with append.
      Parameters:
        `v` - Original vector
        `resize` - Amount to add.

    - #### SparseFieldVector

          public SparseFieldVector(Field<T> field,
                           int dimension,
                           int expectedSize)

      Deprecated.
      Build a vector with known the sparseness (for advanced use only).
      Parameters:
        `field` - Field to which the elements belong.
        `dimension` - Size of the vector.
        `expectedSize` - Expected number of non-zero entries.

    - #### SparseFieldVector

          public SparseFieldVector(Field<T> field,
                           T[] values)

      Deprecated.
      Create from a Field array. Only non-zero entries will be stored.
      Parameters:
        `field` - Field to which the elements belong.
        `values` - Set of values to create from.

    - #### SparseFieldVector

          public SparseFieldVector(SparseFieldVector<T> v)

      Deprecated.
      Copy constructor.
      Parameters:
        `v` - Instance to copy.

  - ### Method Detail

    - #### getEntries

          private OpenIntToFieldHashMap<T> getEntries()

      Deprecated.
      Get the entries of this instance.
      Returns:
        the entries of this instance

    - #### add

          public FieldVector<T> add(SparseFieldVector<T> v)
                                                     throws DimensionMismatchException

      Deprecated.
      Optimized method to add sparse vectors.
      Parameters:
        `v` - Vector to add.
      Returns:
        `this + v`.
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`.

    - #### append

          public FieldVector<T> append(SparseFieldVector<T> v)

      Deprecated.
      Construct a vector by appending a vector to this vector.
      Parameters:
        `v` - Vector to append to this one.
      Returns:
        a new vector.

    - #### append

          public FieldVector<T> append(FieldVector<T> v)

      Deprecated.
      Construct a vector by appending a vector to this vector.
      Specified by:
        `append` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector to append to this one.
      Returns:
        a new vector

    - #### append

          public FieldVector<T> append(T d)

      Deprecated.
      Construct a vector by appending a T to this vector.
      Specified by:
        `append` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - T to append.
      Returns:
        a new vector

    - #### copy

          public FieldVector<T> copy()

      Deprecated.
      Returns a (deep) copy of this.
      Specified by:
        `copy` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        vector copy

    - #### dotProduct

          public T dotProduct(FieldVector<T> v)
                                               throws DimensionMismatchException

      Deprecated.
      Compute the dot product.
      Specified by:
        `dotProduct` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector with which dot product should be computed
      Returns:
        the scalar dot product of `this` and `v`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`

    - #### ebeDivide

          public FieldVector<T> ebeDivide(FieldVector<T> v)
                                                           throws DimensionMismatchException,
                                                                  MathArithmeticException

      Deprecated.
      Element-by-element division.
      Specified by:
        `ebeDivide` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector by which instance elements must be divided
      Returns:
        a vector containing `this[i] / v[i]` for all `i`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`
        `MathArithmeticException` - if one entry of `v` is zero.

    - #### ebeMultiply

          public FieldVector<T> ebeMultiply(FieldVector<T> v)
                                                             throws DimensionMismatchException

      Deprecated.
      Element-by-element multiplication.
      Specified by:
        `ebeMultiply` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector by which instance elements must be multiplied
      Returns:
        a vector containing `this[i] * v[i]` for all `i`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`

    - #### getData

          @Deprecated
          public T[] getData()

      Deprecated. as of 3.1, to be removed in 4.0. Please use the `toArray()` method instead.
      Returns vector entries as a T array.
      Specified by:
        `getData` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        T array of entries

    - #### getDimension

          public int getDimension()

      Deprecated.
      Returns the size of the vector.
      Specified by:
        `getDimension` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        size

    - #### getEntry

          public T getEntry(int index)
                                             throws OutOfRangeException

      Deprecated.
      Returns the entry in the specified index.
      Specified by:
        `getEntry` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `index` - Index location of entry to be fetched.
      Returns:
        the vector entry at `index`.
      Throws:
        `OutOfRangeException` - if the index is not valid.
      See Also:
        `FieldVector.setEntry(int, FieldElement)`

    - #### getField

          public Field<T> getField()

      Deprecated.
      Get the type of field elements of the vector.
      Specified by:
        `getField` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        type of field elements of the vector

    - #### getSubVector

          public FieldVector<T> getSubVector(int index,
                                    int n)
                                                              throws OutOfRangeException,
                                                                     NotPositiveException

      Deprecated.
      Get a subvector from consecutive elements.
      Specified by:
        `getSubVector` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `index` - index of first element.
        `n` - number of elements to be retrieved.
      Returns:
        a vector containing n elements.
      Throws:
        `OutOfRangeException` - if the index is not valid.
        `NotPositiveException` - if the number of elements if not positive.

    - #### mapAdd

          public FieldVector<T> mapAdd(T d)
                                                        throws NullArgumentException

      Deprecated.
      Map an addition operation to each entry.
      Specified by:
        `mapAdd` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to be added to each entry
      Returns:
        `this + d`
      Throws:
        `NullArgumentException` - if `d` is `null`.

    - #### mapAddToSelf

          public FieldVector<T> mapAddToSelf(T d)
                                                              throws NullArgumentException

      Deprecated.
      Map an addition operation to each entry.

      The instance is changed by this method.

      Specified by:
        `mapAddToSelf` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to be added to each entry
      Returns:
        for convenience, return `this`
      Throws:
        `NullArgumentException` - if `d` is `null`.

    - #### mapDivide

          public FieldVector<T> mapDivide(T d)
                                                           throws NullArgumentException,
                                                                  MathArithmeticException

      Deprecated.
      Map a division operation to each entry.
      Specified by:
        `mapDivide` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to divide all entries by
      Returns:
        `this / d`
      Throws:
        `NullArgumentException` - if `d` is `null`.
        `MathArithmeticException` - if `d` is zero.

    - #### mapDivideToSelf

          public FieldVector<T> mapDivideToSelf(T d)
                                                                 throws NullArgumentException,
                                                                        MathArithmeticException

      Deprecated.
      Map a division operation to each entry.

      The instance is changed by this method.

      Specified by:
        `mapDivideToSelf` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to divide all entries by
      Returns:
        for convenience, return `this`
      Throws:
        `NullArgumentException` - if `d` is `null`.
        `MathArithmeticException` - if `d` is zero.

    - #### mapInv

          public FieldVector<T> mapInv()
                                                        throws MathArithmeticException

      Deprecated.
      Map the 1/x function to each entry.
      Specified by:
        `mapInv` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        a vector containing the result of applying the function to each entry.
      Throws:
        `MathArithmeticException` - if one of the entries is zero.

    - #### mapInvToSelf

          public FieldVector<T> mapInvToSelf()
                                                              throws MathArithmeticException

      Deprecated.
      Map the 1/x function to each entry.

      The instance is changed by this method.

      Specified by:
        `mapInvToSelf` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        for convenience, return `this`
      Throws:
        `MathArithmeticException` - if one of the entries is zero.

    - #### mapMultiply

          public FieldVector<T> mapMultiply(T d)
                                                             throws NullArgumentException

      Deprecated.
      Map a multiplication operation to each entry.
      Specified by:
        `mapMultiply` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to multiply all entries by
      Returns:
        `this * d`
      Throws:
        `NullArgumentException` - if `d` is `null`.

    - #### mapMultiplyToSelf

          public FieldVector<T> mapMultiplyToSelf(T d)
                                                                   throws NullArgumentException

      Deprecated.
      Map a multiplication operation to each entry.

      The instance is changed by this method.

      Specified by:
        `mapMultiplyToSelf` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to multiply all entries by
      Returns:
        for convenience, return `this`
      Throws:
        `NullArgumentException` - if `d` is `null`.

    - #### mapSubtract

          public FieldVector<T> mapSubtract(T d)
                                                             throws NullArgumentException

      Deprecated.
      Map a subtraction operation to each entry.
      Specified by:
        `mapSubtract` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to be subtracted to each entry
      Returns:
        `this - d`
      Throws:
        `NullArgumentException` - if `d` is `null`

    - #### mapSubtractToSelf

          public FieldVector<T> mapSubtractToSelf(T d)
                                                                   throws NullArgumentException

      Deprecated.
      Map a subtraction operation to each entry.

      The instance is changed by this method.

      Specified by:
        `mapSubtractToSelf` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `d` - value to be subtracted to each entry
      Returns:
        for convenience, return `this`
      Throws:
        `NullArgumentException` - if `d` is `null`

    - #### outerProduct

          public FieldMatrix<T> outerProduct(SparseFieldVector<T> v)

      Deprecated.
      Optimized method to compute outer product when both vectors are sparse.
      Parameters:
        `v` - vector with which outer product should be computed
      Returns:
        the matrix outer product between instance and v

    - #### outerProduct

          public FieldMatrix<T> outerProduct(FieldVector<T> v)

      Deprecated.
      Compute the outer product.
      Specified by:
        `outerProduct` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector with which outer product should be computed
      Returns:
        the matrix outer product between instance and v

    - #### projection

          public FieldVector<T> projection(FieldVector<T> v)
                                                            throws DimensionMismatchException,
                                                                   MathArithmeticException

      Deprecated.
      Find the orthogonal projection of this vector onto another vector.
      Specified by:
        `projection` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector onto which `this` must be projected
      Returns:
        projection of `this` onto `v`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`
        `MathArithmeticException` - if `v` is the null vector.

    - #### set

          public void set(T value)

      Deprecated.
      Set all elements to a single value.
      Specified by:
        `set` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `value` - single value to set for all elements

    - #### setEntry

          public void setEntry(int index,
                      T value)
                        throws OutOfRangeException

      Deprecated.
      Set a single element.
      Specified by:
        `setEntry` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `index` - element index.
        `value` - new value for the element.
      Throws:
        `OutOfRangeException` - if the index is not valid.
      See Also:
        `FieldVector.getEntry(int)`

    - #### setSubVector

          public void setSubVector(int index,
                          FieldVector<T> v)
                            throws OutOfRangeException

      Deprecated.
      Set a set of consecutive elements.
      Specified by:
        `setSubVector` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `index` - index of first element to be set.
        `v` - vector containing the values to set.
      Throws:
        `OutOfRangeException` - if the index is not valid.

    - #### subtract

          public SparseFieldVector<T> subtract(SparseFieldVector<T> v)
                                                                throws DimensionMismatchException

      Deprecated.
      Optimized method to compute `this` minus `v`.
      Parameters:
        `v` - vector to be subtracted
      Returns:
        `this - v`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`.

    - #### subtract

          public FieldVector<T> subtract(FieldVector<T> v)
                                                          throws DimensionMismatchException

      Deprecated.
      Compute `this` minus `v`.
      Specified by:
        `subtract` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector to be subtracted
      Returns:
        `this - v`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`

    - #### toArray

          public T[] toArray()

      Deprecated.
      Convert the vector to a T array.

      The array is independent from vector data, it's elements are copied.

      Specified by:
        `toArray` in interface `FieldVector<T extends FieldElement<T>>`
      Returns:
        array containing a copy of vector elements

    - #### checkIndex

          private void checkIndex(int index)
                           throws OutOfRangeException

      Deprecated.
      Check whether an index is valid.
      Parameters:
        `index` - Index to check.
      Throws:
        `OutOfRangeException` - if the index is not valid.

    - #### checkVectorDimensions

          protected void checkVectorDimensions(int n)
                                        throws DimensionMismatchException

      Deprecated.
      Check if instance dimension is equal to some expected value.
      Parameters:
        `n` - Expected dimension.
      Throws:
        `DimensionMismatchException` - if the dimensions do not match.

    - #### add

          public FieldVector<T> add(FieldVector<T> v)
                                                     throws DimensionMismatchException

      Deprecated.
      Compute the sum of `this` and `v`.
      Specified by:
        `add` in interface `FieldVector<T extends FieldElement<T>>`
      Parameters:
        `v` - vector to be added
      Returns:
        `this + v`
      Throws:
        `DimensionMismatchException` - if `v` is not the same size as `this`

    - #### buildArray

          private T[] buildArray(int length)

      Deprecated.
      Build an array of elements.
      Parameters:
        `length` - Size of the array to build.
      Returns:
        a new array.

    - #### hashCode

          public int hashCode()

      Deprecated.
      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object obj)

      Deprecated.
      Overrides:
        `equals` in class `Object`

Copyright (c) 2003-2013 Apache Software Foundation