## org.apache.commons.math.stat.descriptive.summary
Class SumOfSquares

    java.lang.Object
      org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic
          org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic
              org.apache.commons.math.stat.descriptive.summary.SumOfSquares

All Implemented Interfaces:
  java.io.Serializable, StorelessUnivariateStatistic, UnivariateStatistic

    public class SumOfSquares

extends AbstractStorelessUnivariateStatistic
implements java.io.Serializable

Returns the sum of the squares of the available values.

If there are no values in the dataset, or any of the values are `NaN`, then `NaN` is returned.

Note that this implementation is not synchronized. If multiple threads access an instance of this class concurrently, and at least one of the threads invokes the `increment()` or `clear()` method, it must be synchronized externally.

Version:
  $Revision: 811685 $ $Date: 2009-09-05 13:36:48 -0400 (Sat, 05 Sep 2009) $
See Also:
  Serialized Form

Field Summary
`private long` `n`
`private static long` `serialVersionUID` Serializable version identifier
`private double` `value` The currently running sumSq

Constructor Summary
`SumOfSquares()` Create a SumOfSquares instance
`SumOfSquares(SumOfSquares original)` Copy constructor, creates a new `SumOfSquares` identical to the `original`

Method Summary
`void` `clear()` Clears the internal state of the Statistic
`SumOfSquares` `copy()` Returns a copy of the statistic with the same internal state.
`static void` `copy(SumOfSquares source, SumOfSquares dest)` Copies source to dest.
`double` `evaluate(double[] values, int begin, int length)` Returns the sum of the squares of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.
`long` `getN()` Returns the number of values that have been added.
`double` `getResult()` Returns the current value of the Statistic.
`void` `increment(double d)` Updates the internal state of the statistic to reflect the addition of the new value.

Methods inherited from class org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic
`equals, evaluate, hashCode, incrementAll, incrementAll`

Methods inherited from class org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic
`test, test`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### serialVersionUID

    private static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

### n

    private long n

### value

    private double value

  The currently running sumSq

Constructor Detail

### SumOfSquares

    public SumOfSquares()

  Create a SumOfSquares instance

### SumOfSquares

    public SumOfSquares(SumOfSquares original)

  Copy constructor, creates a new `SumOfSquares` identical to the `original`

  Parameters:
    `original` - the `SumOfSquares` instance to copy

Method Detail

### increment

    public void increment(double d)

  Updates the internal state of the statistic to reflect the addition of the new value.

  Specified by:
    `increment` in interface `StorelessUnivariateStatistic`
  Specified by:
    `increment` in class `AbstractStorelessUnivariateStatistic`
  Parameters:
    `d` - the new value.

### getResult

    public double getResult()

  Returns the current value of the Statistic.

  Specified by:
    `getResult` in interface `StorelessUnivariateStatistic`
  Specified by:
    `getResult` in class `AbstractStorelessUnivariateStatistic`
  Returns:
    value of the statistic, `Double.NaN` if it has been cleared or just instantiated.

### getN

    public long getN()

  Returns the number of values that have been added.

  Specified by:
    `getN` in interface `StorelessUnivariateStatistic`
  Returns:
    the number of values.

### clear

    public void clear()

  Clears the internal state of the Statistic

  Specified by:
    `clear` in interface `StorelessUnivariateStatistic`
  Specified by:
    `clear` in class `AbstractStorelessUnivariateStatistic`

### evaluate

    public double evaluate(double[] values,
                           int begin,
                           int length)

  Returns the sum of the squares of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.

  Throws `IllegalArgumentException` if the array is null.

  Specified by:
    `evaluate` in interface `UnivariateStatistic`
  Overrides:
    `evaluate` in class `AbstractStorelessUnivariateStatistic`
  Parameters:
    `values` - the input array
    `begin` - index of the first array element to include
    `length` - the number of elements to include
  Returns:
    the sum of the squares of the values or Double.NaN if length = 0
  Throws:
    `java.lang.IllegalArgumentException` - if the array is null or the array index parameters are not valid
  See Also:
    `UnivariateStatistic.evaluate(double[], int, int)`

### copy

    public SumOfSquares copy()

  Returns a copy of the statistic with the same internal state.

  Specified by:
    `copy` in interface `StorelessUnivariateStatistic`
  Specified by:
    `copy` in interface `UnivariateStatistic`
  Specified by:
    `copy` in class `AbstractStorelessUnivariateStatistic`
  Returns:
    a copy of the statistic

### copy

    public static void copy(SumOfSquares source,
                            SumOfSquares dest)

  Copies source to dest.

  Neither source nor dest can be null.

  Parameters:
    `source` - SumOfSquares to copy
    `dest` - SumOfSquares to copy to
  Throws:
    `java.lang.NullPointerException` - if either source or dest is null

Copyright (c) 2003-2010 Apache Software Foundation