org.eclipse.january.dataset

## Interface Dataset

- All Superinterfaces:
    IDataset, ILazyDataset, IMetadataProvider, INameable, Serializable
  All Known Subinterfaces:
    CompoundDataset, DateDataset
  All Known Implementing Classes:
    AbstractCompoundDataset, AbstractDataset, BooleanDataset, BooleanDatasetBase, ByteDataset, ComplexDoubleDataset, ComplexFloatDataset, CompoundByteDataset, CompoundDoubleDataset, CompoundFloatDataset, CompoundIntegerDataset, CompoundLongDataset, CompoundShortDataset, DateDatasetImpl, DoubleDataset, FloatDataset, IntegerDataset, LongDataset, ObjectDataset, ObjectDatasetBase, RGBDataset, ShortDataset, StringDataset, StringDatasetBase

      public interface Dataset
      extends IDataset

  Interface for our implementation of dataset that adds a lot of extra functionality.

  Warning: It is important to note that methods (get*Abs() and set*Abs()) which use the absolute index must be used with care. In (sliced) views of datasets, neighbouring positions do not necessarily correspond to contiguous indexes. This is also the case with multi-element (or compound) items. Therefore index iterators should be used in conjunction with these methods unless the dataset can be proven to be not a view or be a wholly contiguous slice of a dataset; a copy or new dataset satisfies this criterion.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ARRAYFLOAT32` Array of 32-bit floating points
    `static int` | `ARRAYFLOAT64` Array of 64-bit floating points
    `static int` | `ARRAYINT16` Array of signed 16-bit integers
    `static int` | `ARRAYINT32` Array of signed 32-bit integers
    `static int` | `ARRAYINT64` Array of signed 64-bit integers
    `static int` | `ARRAYINT8` Array of signed 8-bit integers
    `static int` | `ARRAYMUL`
    `static int` | `BOOL` Boolean
    `static int` | `COMPLEX` Complex floating point (same as 64-bit floating point)
    `static int` | `COMPLEX128` 128-bit complex floating point (real and imaginary parts are 64-bit floats)
    `static int` | `COMPLEX64` 64-bit complex floating point (real and imaginary parts are 32-bit floats)
    `static int` | `DATE` Date
    `static int` | `FLOAT` Floating point (same as 64-bit floating point)
    `static int` | `FLOAT32` 32-bit floating point
    `static int` | `FLOAT64` 64-bit floating point
    `static int` | `INT` Integer (same as signed 32-bit integer)
    `static int` | `INT16` Signed 16-bit integer
    `static int` | `INT32` Signed 32-bit integer
    `static int` | `INT64` Signed 64-bit integer
    `static int` | `INT8` Signed 8-bit integer
    `static int` | `OBJECT` Object
    `static int` | `RGB` Array of three signed 16-bit integers for RGB values
    `static long` | `serialVersionUID` Update this when there are any serious changes to API
    `static int` | `STRING` String

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `all()` Test if all items are true
    `Dataset` | `all(int axis)`
    `boolean` | `any()` Test if any items are true
    `Dataset` | `any(int axis)`
    `int` | `argMax(boolean... ignoreInvalids)` Find absolute index of maximum value (in a flattened view)
    `Dataset` | `argMax(int axis, boolean... ignoreInvalids)` Find indices of maximum values along given axis
    `int` | `argMin(boolean... ignoreInvalids)` Find absolute index of minimum value (in a flattened view)
    `Dataset` | `argMin(int axis, boolean... ignoreInvalids)` Find indices of minimum values along given axis
    `Dataset` | `cast(boolean repeat, int dtype, int isize)` Cast a dataset
    `<T extends Dataset> T` | `cast(Class<T> clazz)` Cast a dataset
    `Dataset` | `cast(int dtype)` Cast a dataset
    `int` | `checkAxis(int axis)` Check that axis is in range [-rank,rank)
    `void` | `checkCompatibility(ILazyDataset g)` This method takes a dataset and checks its shape against the current dataset.
    `Dataset` | `clone()` Clone dataset, making new copy of data
    `boolean` | `containsInfs()`
    `boolean` | `containsInvalidNumbers()`
    `boolean` | `containsNans()`
    `<T extends Dataset> T` | `copy(Class<T> clazz)` Copy and cast a dataset
    `Dataset` | `copy(int dtype)` Copy and cast a dataset
    `void` | `copyItemsFromAxes(int[] pos, boolean[] axes, Dataset dest)` Copy content from axes in given position to array
    `long` | `count(boolean... ignoreInvalids)`
    `Dataset` | `count(int axis, boolean... ignoreInvalids)`
    `Dataset` | `fill(Object obj)` Fill dataset with given object
    `void` | `fillDataset(Dataset other, IndexIterator iter)` Populate another dataset with part of current dataset
    `Dataset` | `flatten()` Flatten shape
    `int` | `get1DIndex(int... n)` This method calculates the index in the data array that corresponds to the given n-dimensional position
    `boolean` | `getBoolean()` Get first item as a boolean.
    `boolean` | `getBoolean(int i)` Get an item from given position as a boolean.
    `boolean` | `getBoolean(int i, int j)` Get an item from given position as a boolean.
    `BooleanIterator` | `getBooleanIterator(Dataset choice)` Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is true
    `BooleanIterator` | `getBooleanIterator(Dataset choice, boolean value)` Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is given by value
    `Dataset` | `getBroadcastView(int... shape)`
    `Serializable` | `getBuffer()`
    `Dataset` | `getBy1DIndex(IntegerDataset index)` This is modelled after the NumPy get item with an index dataset
    `Dataset` | `getByBoolean(Dataset selection)` This is modelled after the NumPy get item with a condition specified by a boolean dataset
    `Dataset` | `getByIndexes(Object... indexes)` This is modelled after the NumPy get item with an array of indexing objects
    `byte` | `getByte()` Get first item as a byte.
    `byte` | `getByte(int i)` Get an item from given position as a byte.
    `byte` | `getByte(int i, int j)` Get an item from given positionj as a byte.
    `double` | `getDouble()` Get first item as a double.
    `double` | `getDouble(int i)` Get an item from given position as a double.
    `double` | `getDouble(int i, int j)` Get an item from given position as a double.
    `int` | `getDType()`
    `boolean` | `getElementBooleanAbs(int index)` Get an element from given absolute index as a boolean.
    `double` | `getElementDoubleAbs(int index)` Get an element from given absolute index as a double.
    `long` | `getElementLongAbs(int index)` Get an element from given absolute index as a long.
    `double` | `getError()` Get the error for the first item.
    `double` | `getError(int i)` Get the error for given position.
    `double` | `getError(int i, int j)` Get the error for given position.
    `double[]` | `getErrorArray(int i)` Get the error values for given position
    `double[]` | `getErrorArray(int i, int j)` Get the error values for given position
    `Dataset` | `getErrorBuffer()` Get the (un-broadcasted) dataset that backs the (squared) error data
    `Dataset` | `getErrors()` Get the error array from the dataset of same shape.
    `float` | `getFloat()` Get first item as a float.
    `float` | `getFloat(int i)` Get an item from given position as a float.
    `float` | `getFloat(int i, int j)` Get an item from given position as a float.
    `IntegerDataset` | `getIndices()` Generate an index dataset for current dataset
    `int` | `getInt()` Get first item as an int.
    `int` | `getInt(int i)` Get an item from given position as an int.
    `int` | `getInt(int i, int j)` Get an item from given position as an int.
    `IndexIterator` | `getIterator()`
    `IndexIterator` | `getIterator(boolean withPosition)`
    `long` | `getLong()` Get first item as a long.
    `long` | `getLong(int i)` Get an item from given position as a long.
    `long` | `getLong(int i, int j)` Get an item from given position as a long.
    `int` | `getNbytes()`
    `int[]` | `getNDPosition(int n)` This method calculates the n-dimensional position in the dataset of the given index in the data array
    `Object` | `getObject()` Get first item as an object.
    `Object` | `getObject(int i)` Get an item from given position as an object.
    `Object` | `getObject(int i, int j)` Get an item from given position as an object.
    `Object` | `getObjectAbs(int index)` Get an item from given absolute index as an object.
    `int` | `getOffset()`
    `PositionIterator` | `getPositionIterator(int... axes)`
    `Dataset` | `getRealPart()`
    `Dataset` | `getRealView()`
    `int[]` | `getShapeRef()` The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets and null for null datasets
    `short` | `getShort()` Get first item as a short.
    `short` | `getShort(int i)` Get an item from given position as a short.
    `short` | `getShort(int i, int j)` Get an item from given position as a short.
    `Dataset` | `getSlice(IMonitor mon, int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSlice(IMonitor mon, Slice... slice)` Get a slice of the dataset.
    `Dataset` | `getSlice(IMonitor mon, SliceND slice)` Get a slice of the dataset.
    `Dataset` | `getSlice(int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSlice(Slice... slice)` Get a slice of the dataset.
    `Dataset` | `getSlice(SliceND slice)` Get a slice of the dataset.
    `IndexIterator` | `getSliceIterator(int[] start, int[] stop, int[] step)`
    `SliceIterator` | `getSliceIteratorFromAxes(int[] pos, boolean[] axes)` Get a slice iterator that is defined by a starting position and a set of axes to include
    `Dataset` | `getSliceView(int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSliceView(Slice... slice)` Get a slice of the dataset.
    `Dataset` | `getSliceView(SliceND slice)` Get a slice of the dataset.
    `int[]` | `getStrides()`
    `String` | `getString()` Get first item as a string.
    `String` | `getString(int i)` Get an item from given position as a string.
    `String` | `getString(int i, int j)` Get an item from given position as a string.
    `String` | `getStringAbs(int index)` Get an item from given absolute index as a string.
    `Dataset` | `getTransposedView(int... axes)` Permute copy of dataset's axes so that given order is old order:
    `Dataset` | `getUniqueItems()` Get unique items
    `Dataset` | `getView(boolean deepCopyMetadata)`
    `boolean` | `hasFloatingPointElements()`
    `Dataset` | `iadd(Object o)` In-place addition with object o
    `Dataset` | `idivide(Object o)` In-place division with object o
    `Dataset` | `ifloor()` In-place floor
    `Dataset` | `ifloorDivide(Object o)` In-place floor division with object o
    `Dataset` | `imultiply(Object o)` In-place multiplication with object o
    `Dataset` | `ipower(Object o)` In-place raise to power of object o
    `Dataset` | `iremainder(Object o)` In-place remainder
    `boolean` | `isCompatibleWith(ILazyDataset g)` This method takes a dataset and checks its shape against the current dataset.
    `boolean` | `isComplex()`
    `Dataset` | `isubtract(Object o)` In-place subtraction with object o
    `Dataset` | `max(int axis, boolean... ignoreInvalids)`
    `Dataset` | `mean(int axis, boolean... ignoreInvalids)`
    `Dataset` | `min(int axis, boolean... ignoreInvalids)`
    `void` | `overrideInternal(Serializable buffer, int... shape)` Set the buffer that backs the dataset and its shape
    `Number` | `peakToPeak(boolean... ignoreInvalids)`
    `Dataset` | `peakToPeak(int axis, boolean... ignoreInvalids)`
    `Object` | `product(boolean... ignoreInvalids)`
    `Dataset` | `product(int axis, boolean... ignoreInvalids)`
    `Dataset` | `reshape(int... shape)` Returns new dataset with new shape but old data if possible, otherwise a copy is made
    `double` | `residual(Object o)` Calculate residual of dataset with object o See `residual(Object o, boolean ignoreNaNs)` with ignoreNaNs = false
    `double` | `residual(Object o, boolean ignoreNaNs)` Calculate residual of dataset with object o
    `double` | `residual(Object o, Dataset weight, boolean ignoreNaNs)` Calculate residual of dataset with object o and weight.
    `double` | `rootMeanSquare(boolean... ignoreInvalids)`
    `Dataset` | `rootMeanSquare(int axis, boolean... ignoreInvalids)`
    `void` | `set(Object obj)` Set the value given by object at the first position.
    `void` | `set(Object obj, int i)` Set the value given by object at given position.
    `void` | `set(Object obj, int i, int j)` Set the value given by object at given position.
    `Dataset` | `setBy1DIndex(Object obj, Dataset index)` This is modelled after the NumPy set item with an index dataset
    `Dataset` | `setByBoolean(Object obj, Dataset selection)` This is modelled after the NumPy set item with a condition specified by a boolean dataset
    `Dataset` | `setByIndexes(Object obj, Object... indexes)` This is modelled after the NumPy set item with an array of indexing objects
    `void` | `setDirty()` This method allows anything that dirties the dataset to clear stored values so that the other methods can work correctly.
    `void` | `setErrorBuffer(Serializable buffer)` Set the buffer that backs the (squared) error data
    `void` | `setItemsOnAxes(int[] pos, boolean[] axes, Object src)` Set content on axes in given position to values in array
    `void` | `setObjectAbs(int index, Object obj)` Set an item at absolute index from an object.
    `Dataset` | `setSlice(Object obj, IndexIterator iterator)`
    `Dataset` | `setSlice(Object obj, int[] start, int[] stop, int[] step)` This is modelled after the NumPy array slice
    `Dataset` | `setSlice(Object obj, Slice... slice)` This is modelled after the NumPy array slice
    `Dataset` | `setSlice(Object obj, SliceND slice)` This is modelled after the NumPy array slice
    `Dataset` | `sort(Integer axis)` In-place sort of dataset
    `Dataset` | `squeeze()` Remove dimensions of 1 in shape of the dataset
    `Dataset` | `squeeze(boolean onlyFromEnds)` Remove dimensions of 1 in shape of the dataset from ends only if true
    `Dataset` | `squeezeEnds()` Remove dimensions of 1 from ends of shape of the dataset
    `double` | `stdDeviation()` Standard deviation is square root of the variance
    `double` | `stdDeviation(boolean isWholePopulation, boolean... ignoreInvalids)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int axis)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int axis, boolean isWholePopulation, boolean... ignoreInvalids)` Standard deviation is square root of the variance
    `Object` | `sum(boolean... ignoreInvalids)`
    `Dataset` | `sum(int axis, boolean... ignoreInvalids)`
    `Dataset` | `swapAxes(int axis1, int axis2)` Swap two axes in dataset
    `Dataset` | `synchronizedCopy()` This is a synchronized version of the clone method
    `String` | `toString(boolean showData)`
    `Dataset` | `transpose(int... axes)` See `getTransposedView(int...)`
    `double` | `variance()`
    `double` | `variance(boolean isWholePopulation, boolean... ignoreInvalids)` The sample variance can be calculated in two ways: if the dataset is considered as the entire population then the sample variance is simply the second central moment:
    `Dataset` | `variance(int axis)`
    `Dataset` | `variance(int axis, boolean isWholePopulation, boolean... ignoreInvalids)`

    - ### Methods inherited from interface org.eclipse.january.dataset.IDataset

      `getBoolean, getByte, getDouble, getError, getErrorArray, getFloat, getInt, getItemBytes, getLong, getMetadata, getObject, getShort, getString, max, maxPos, mean, min, minPos, resize, set, setStringFormat`

    - ### Methods inherited from interface org.eclipse.january.dataset.ILazyDataset

      `addMetadata, clearMetadata, getElementClass, getElementsPerItem, getRank, getShape, getSize, hasErrors, setErrors, setMetadata, setShape`

    - ### Methods inherited from interface org.eclipse.january.dataset.IMetadataProvider

      `getFirstMetadata, getMetadata`

    - ### Methods inherited from interface org.eclipse.january.INameable

      `getName, setName`

- - ### Field Detail

    - #### BOOL

          static final int BOOL

      Boolean
      See Also:
        Constant Field Values

    - #### INT8

          static final int INT8

      Signed 8-bit integer
      See Also:
        Constant Field Values

    - #### INT16

          static final int INT16

      Signed 16-bit integer
      See Also:
        Constant Field Values

    - #### INT32

          static final int INT32

      Signed 32-bit integer
      See Also:
        Constant Field Values

    - #### INT

          static final int INT

      Integer (same as signed 32-bit integer)
      See Also:
        Constant Field Values

    - #### INT64

          static final int INT64

      Signed 64-bit integer
      See Also:
        Constant Field Values

    - #### FLOAT32

          static final int FLOAT32

      32-bit floating point
      See Also:
        Constant Field Values

    - #### FLOAT64

          static final int FLOAT64

      64-bit floating point
      See Also:
        Constant Field Values

    - #### FLOAT

          static final int FLOAT

      Floating point (same as 64-bit floating point)
      See Also:
        Constant Field Values

    - #### COMPLEX64

          static final int COMPLEX64

      64-bit complex floating point (real and imaginary parts are 32-bit floats)
      See Also:
        Constant Field Values

    - #### COMPLEX128

          static final int COMPLEX128

      128-bit complex floating point (real and imaginary parts are 64-bit floats)
      See Also:
        Constant Field Values

    - #### COMPLEX

          static final int COMPLEX

      Complex floating point (same as 64-bit floating point)
      See Also:
        Constant Field Values

    - #### STRING

          static final int STRING

      String
      See Also:
        Constant Field Values

    - #### OBJECT

          static final int OBJECT

      Object
      See Also:
        Constant Field Values

    - #### DATE

          static final int DATE

      Date
      See Also:
        Constant Field Values

    - #### ARRAYMUL

          static final int ARRAYMUL

      See Also:
        Constant Field Values

    - #### ARRAYINT8

          static final int ARRAYINT8

      Array of signed 8-bit integers
      See Also:
        Constant Field Values

    - #### ARRAYINT16

          static final int ARRAYINT16

      Array of signed 16-bit integers
      See Also:
        Constant Field Values

    - #### RGB

          static final int RGB

      Array of three signed 16-bit integers for RGB values
      See Also:
        Constant Field Values

    - #### ARRAYINT32

          static final int ARRAYINT32

      Array of signed 32-bit integers
      See Also:
        Constant Field Values

    - #### ARRAYINT64

          static final int ARRAYINT64

      Array of signed 64-bit integers
      See Also:
        Constant Field Values

    - #### ARRAYFLOAT32

          static final int ARRAYFLOAT32

      Array of 32-bit floating points
      See Also:
        Constant Field Values

    - #### ARRAYFLOAT64

          static final int ARRAYFLOAT64

      Array of 64-bit floating points
      See Also:
        Constant Field Values

    - #### serialVersionUID

          static final long serialVersionUID

      Update this when there are any serious changes to API
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getShapeRef

          int[] getShapeRef()

      The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets and null for null datasets
      Returns:
        reference of shape of dataset

    - #### getDType

          int getDType()

      Returns:
        type of dataset item

    - #### getStrides

          int[] getStrides()

      Returns:
        a stride array (can be null)

    - #### getOffset

          int getOffset()

      Returns:
        offset where dataset view begins

    - #### hasFloatingPointElements

          boolean hasFloatingPointElements()

      Returns:
        true if dataset has elements which are floating point values

    - #### getNbytes

          int getNbytes()

      Returns:
        number of bytes used

    - #### getBuffer

          Serializable getBuffer()

      Returns:
        the buffer that backs the dataset

    - #### overrideInternal

          void overrideInternal(Serializable buffer,
                              int... shape)

      Set the buffer that backs the dataset and its shape

      This is very, very dangerous. Please use carefully

      Parameters:
        `buffer` - (can be null to leave unchanged)
        `shape` - (can be null to leave unchanged)

    - #### synchronizedCopy

          Dataset synchronizedCopy()

      This is a synchronized version of the clone method
      Returns:
        a copy of dataset

    - #### getView

          Dataset getView(boolean deepCopyMetadata)

      Parameters:
        `deepCopyMetadata` - if true then deep-copy metadata
      Returns:
        whole view of dataset (i.e. data buffer is shared)

    - #### getBroadcastView

          Dataset getBroadcastView(int... shape)

      Returns:
        view of dataset that is broadcasted to given shape

    - #### toString

          String toString(boolean showData)

      Parameters:
        `showData` -
      Returns:
        string representation

    - #### squeezeEnds

          Dataset squeezeEnds()

      Description copied from interface: `ILazyDataset`
      Remove dimensions of 1 from ends of shape of the dataset
      Specified by:
        `squeezeEnds` in interface `IDataset`
      Specified by:
        `squeezeEnds` in interface `ILazyDataset`

    - #### squeeze

          Dataset squeeze()

      Description copied from interface: `IDataset`
      Remove dimensions of 1 in shape of the dataset
      Specified by:
        `squeeze` in interface `IDataset`

    - #### squeeze

          Dataset squeeze(boolean onlyFromEnds)

      Description copied from interface: `IDataset`
      Remove dimensions of 1 in shape of the dataset from ends only if true
      Specified by:
        `squeeze` in interface `IDataset`

    - #### clone

          Dataset clone()

      Description copied from interface: `IDataset`
      Clone dataset, making new copy of data
      Specified by:
        `clone` in interface `IDataset`
      Specified by:
        `clone` in interface `ILazyDataset`
      Returns:
        a (deep) copy of dataset

    - #### setDirty

          void setDirty()

      This method allows anything that dirties the dataset to clear stored values so that the other methods can work correctly.

    - #### getNDPosition

          int[] getNDPosition(int n)

      This method calculates the n-dimensional position in the dataset of the given index in the data array
      Parameters:
        `n` - The index in the array
      Returns:
        the corresponding [a,b,...,n] position in the dataset

    - #### get1DIndex

          int get1DIndex(int... n)

      This method calculates the index in the data array that corresponds to the given n-dimensional position
      Parameters:
        `n` - the integer array specifying the n-D position
      Returns:
        the index on the data array corresponding to that location

    - #### checkAxis

          int checkAxis(int axis)

      Check that axis is in range [-rank,rank)
      Parameters:
        `axis` -
      Returns:
        sanitized axis in range [0, rank)

    - #### isCompatibleWith

          boolean isCompatibleWith(ILazyDataset g)

      This method takes a dataset and checks its shape against the current dataset. If they are both of the same size, then this returns true otherwise it returns false.
      Parameters:
        `g` - The dataset to be compared
      Returns:
        true if shapes are compatible

    - #### checkCompatibility

          void checkCompatibility(ILazyDataset g)
                                  throws IllegalArgumentException

      This method takes a dataset and checks its shape against the current dataset. If they are both of the same size, then this returns with no error, if there is a problem, then an error is thrown.
      Parameters:
        `g` - The dataset to be compared
      Throws:
        `IllegalArgumentException` - This will be thrown if there is a problem with the compatibility

    - #### reshape

          Dataset reshape(int... shape)

      Returns new dataset with new shape but old data if possible, otherwise a copy is made
      Parameters:
        `shape` - new shape

    - #### isComplex

          boolean isComplex()

      Returns:
        true if dataset is complex

    - #### getRealPart

          Dataset getRealPart()

      Returns:
        real part of dataset (if necessary, as new dataset)
      Since:
        2.0

    - #### getRealView

          Dataset getRealView()

      Returns:
        real part of dataset as a view

    - #### getErrors

          Dataset getErrors()

      Get the error array from the dataset of same shape. This will create a new dataset if the error set was of lower rank
      Specified by:
        `getErrors` in interface `IDataset`
      Specified by:
        `getErrors` in interface `ILazyDataset`
      Returns:
        the dataset which contains the error information (can be null)
      Since:
        2.0

    - #### getErrorBuffer

          Dataset getErrorBuffer()

      Get the (un-broadcasted) dataset that backs the (squared) error data
      Returns:
        the dataset which contains the (squared) error information (can be null)

    - #### setErrorBuffer

          void setErrorBuffer(Serializable buffer)

      Set the buffer that backs the (squared) error data

    - #### copy

          Dataset copy(int dtype)

      Copy and cast a dataset
      Parameters:
        `dtype` - dataset type
      Returns:
        a converted copy of the dataset

    - #### copy

          <T extends Dataset> T copy(Class<T> clazz)

      Copy and cast a dataset
      Parameters:
        `clazz` - dataset class
      Returns:
        a converted copy of the dataset

    - #### cast

          Dataset cast(int dtype)

      Cast a dataset
      Parameters:
        `dtype` - dataset type
      Returns:
        a converted dataset

    - #### cast

          <T extends Dataset> T cast(Class<T> clazz)

      Cast a dataset
      Parameters:
        `clazz` - dataset class
      Returns:
        a converted dataset

    - #### cast

          Dataset cast(boolean repeat,
                     int dtype,
                     int isize)

      Cast a dataset
      Parameters:
        `repeat` -
        `dtype` - dataset type
        `isize` - item size
      Returns:
        a converted dataset

    - #### getIndices

          IntegerDataset getIndices()

      Generate an index dataset for current dataset
      Returns:
        an index dataset

    - #### getTransposedView

          Dataset getTransposedView(int... axes)

      Description copied from interface: `IDataset`
      Permute copy of dataset's axes so that given order is old order:

            axisPerm = (p(0), p(1),...) => newdata(n(0), n(1),...) = olddata(o(0), o(1), ...)
            such that n(i) = o(p(i)) for all i

      I.e. for a 3D dataset (1,0,2) implies the new dataset has its 1st dimension running along the old dataset's 2nd dimension and the new 2nd is the old 1st. The 3rd dimension is left unchanged.
      Specified by:
        `getTransposedView` in interface `IDataset`
      Specified by:
        `getTransposedView` in interface `ILazyDataset`
      Parameters:
        `axes` - if zero length then axes order reversed
      Returns:
        remapped view of data

    - #### transpose

          Dataset transpose(int... axes)

      See `getTransposedView(int...)`
      Returns:
        remapped copy of data

    - #### swapAxes

          Dataset swapAxes(int axis1,
                         int axis2)

      Swap two axes in dataset
      Parameters:
        `axis1` -
        `axis2` -
      Returns:
        swapped view of dataset

    - #### flatten

          Dataset flatten()

      Flatten shape
      Returns:
        a flattened dataset which is a view if dataset is contiguous otherwise is a copy

    - #### getUniqueItems

          Dataset getUniqueItems()

      Get unique items
      Returns:
        a sorted dataset of unique items

    - #### getIterator

          IndexIterator getIterator(boolean withPosition)

      Parameters:
        `withPosition` - set true if position is needed
      Returns:
        an IndexIterator tailored for this dataset

    - #### getIterator

          IndexIterator getIterator()

      Returns:
        an IndexIterator tailored for this dataset

    - #### getPositionIterator

          PositionIterator getPositionIterator(int... axes)

      Parameters:
        `axes` - axes to omit from iterator
      Returns:
        a PositionIterator that misses out axes

    - #### getSliceIterator

          IndexIterator getSliceIterator(int[] start,
                                       int[] stop,
                                       int[] step)

      Parameters:
        `start` - specifies the starting indexes
        `stop` - specifies the stopping indexes (nb, these are not included in the slice)
        `step` - specifies the steps in the slice
      Returns:
        an slice iterator that operates like an IndexIterator

    - #### getSliceIteratorFromAxes

          SliceIterator getSliceIteratorFromAxes(int[] pos,
                                               boolean[] axes)

      Get a slice iterator that is defined by a starting position and a set of axes to include
      Parameters:
        `pos` -
        `axes` - to include
      Returns:
        slice iterator

    - #### copyItemsFromAxes

          void copyItemsFromAxes(int[] pos,
                               boolean[] axes,
                               Dataset dest)

      Copy content from axes in given position to array
      Parameters:
        `pos` - - null means position at origin
        `axes` - - true means copy
        `dest` -

    - #### setItemsOnAxes

          void setItemsOnAxes(int[] pos,
                            boolean[] axes,
                            Object src)

      Set content on axes in given position to values in array
      Parameters:
        `pos` -
        `axes` - - true means copy
        `src` -

    - #### getBooleanIterator

          BooleanIterator getBooleanIterator(Dataset choice)

      Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is true
      Parameters:
        `choice` -
      Returns:
        an iterator of dataset that visits items chosen by given choice dataset

    - #### getBooleanIterator

          BooleanIterator getBooleanIterator(Dataset choice,
                                           boolean value)

      Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is given by value
      Parameters:
        `choice` -
        `value` -
      Returns:
        an iterator of dataset that visits items chosen by given choice dataset

    - #### getByBoolean

          Dataset getByBoolean(Dataset selection)

      This is modelled after the NumPy get item with a condition specified by a boolean dataset
      Parameters:
        `selection` - a boolean dataset of same shape to use for selecting items
      Returns:
        The new selected dataset

    - #### setByBoolean

          Dataset setByBoolean(Object obj,
                             Dataset selection)

      This is modelled after the NumPy set item with a condition specified by a boolean dataset
      Parameters:
        `obj` - specifies the object used to set the selected items
        `selection` - a boolean dataset of same shape to use for selecting items
      Returns:
        The dataset with modified content

    - #### getBy1DIndex

          Dataset getBy1DIndex(IntegerDataset index)

      This is modelled after the NumPy get item with an index dataset
      Parameters:
        `index` - an integer dataset
      Returns:
        The new selected dataset by indices

    - #### getByIndexes

          Dataset getByIndexes(Object... indexes)

      This is modelled after the NumPy get item with an array of indexing objects
      Parameters:
        `indexes` - an array of integer dataset, boolean dataset, slices or null entries (same as full slices)
      Returns:
        The new selected dataset by index

    - #### setBy1DIndex

          Dataset setBy1DIndex(Object obj,
                             Dataset index)

      This is modelled after the NumPy set item with an index dataset
      Parameters:
        `obj` - specifies the object used to set the selected items
        `index` - an integer dataset
      Returns:
        The dataset with modified content

    - #### setByIndexes

          Dataset setByIndexes(Object obj,
                             Object... indexes)

      This is modelled after the NumPy set item with an array of indexing objects
      Parameters:
        `obj` - specifies the object used to set the selected items
        `indexes` - an array of integer dataset, boolean dataset, slices or null entries (same as full slices)
      Returns:
        The dataset with modified content

    - #### fill

          Dataset fill(Object obj)

      Fill dataset with given object
      Parameters:
        `obj` -
      Returns:
        filled dataset with each item being equal to the given object

    - #### getElementBooleanAbs

          boolean getElementBooleanAbs(int index)

      Get an element from given absolute index as a boolean. See warning in interface doc
      Parameters:
        `index` -
      Returns:
        element as boolean

    - #### getElementDoubleAbs

          double getElementDoubleAbs(int index)

      Get an element from given absolute index as a double. See warning in interface doc
      Parameters:
        `index` -
      Returns:
        element as double

    - #### getElementLongAbs

          long getElementLongAbs(int index)

      Get an element from given absolute index as a long. See warning in interface doc
      Parameters:
        `index` -
      Returns:
        element as long

    - #### getObjectAbs

          Object getObjectAbs(int index)

      Get an item from given absolute index as an object. See warning in interface doc
      Parameters:
        `index` -
      Returns:
        item

    - #### getStringAbs

          String getStringAbs(int index)

      Get an item from given absolute index as a string. See warning in interface doc
      Parameters:
        `index` -
      Returns:
        item

    - #### setObjectAbs

          void setObjectAbs(int index,
                          Object obj)

      Set an item at absolute index from an object. See warning in interface doc
      Parameters:
        `index` -
        `obj` -

    - #### getObject

          Object getObject()

      Get first item as an object. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getObject

          Object getObject(int i)

      Get an item from given position as an object. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getObject

          Object getObject(int i,
                         int j)

      Get an item from given position as an object. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getString

          String getString()

      Get first item as a string. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getString

          String getString(int i)

      Get an item from given position as a string. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getString

          String getString(int i,
                         int j)

      Get an item from given position as a string. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getDouble

          double getDouble()

      Get first item as a double. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getDouble

          double getDouble(int i)

      Get an item from given position as a double. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getDouble

          double getDouble(int i,
                         int j)

      Get an item from given position as a double. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getFloat

          float getFloat()

      Get first item as a float. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getFloat

          float getFloat(int i)

      Get an item from given position as a float. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getFloat

          float getFloat(int i,
                       int j)

      Get an item from given position as a float. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getLong

          long getLong()

      Get first item as a long. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getLong

          long getLong(int i)

      Get an item from given position as a long. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getLong

          long getLong(int i,
                     int j)

      Get an item from given position as a long. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getInt

          int getInt()

      Get first item as an int. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getInt

          int getInt(int i)

      Get an item from given position as an int. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getInt

          int getInt(int i,
                   int j)

      Get an item from given position as an int. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getShort

          short getShort()

      Get first item as a short. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getShort

          short getShort(int i)

      Get an item from given position as a short. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getShort

          short getShort(int i,
                       int j)

      Get an item from given position as a short. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getByte

          byte getByte()

      Get first item as a byte. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getByte

          byte getByte(int i)

      Get an item from given position as a byte. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getByte

          byte getByte(int i,
                     int j)

      Get an item from given positionj as a byte. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getBoolean

          boolean getBoolean()

      Get first item as a boolean. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getBoolean

          boolean getBoolean(int i)

      Get an item from given position as a boolean. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        item

    - #### getBoolean

          boolean getBoolean(int i,
                           int j)

      Get an item from given position as a boolean. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        item

    - #### getError

          double getError()

      Get the error for the first item. The dataset must not be null
      Returns:
        item
      Since:
        2.0

    - #### getError

          double getError(int i)

      Get the error for given position. The dataset must be 1D
      Parameters:
        `i` -
      Returns:
        error value (symmetric)

    - #### getError

          double getError(int i,
                        int j)

      Get the error for given position. The dataset must be 2D
      Parameters:
        `i` -
        `j` -
      Returns:
        error value (symmetric)

    - #### getErrorArray

          double[] getErrorArray(int i)

      Get the error values for given position
      Parameters:
        `i` -
      Returns:
        the values of the error at this point (can be null when no error defined)

    - #### getErrorArray

          double[] getErrorArray(int i,
                               int j)

      Get the error values for given position
      Parameters:
        `i` -
        `j` -
      Returns:
        the values of the error at this point (can be null when no error defined)

    - #### set

          void set(Object obj)

      Set the value given by object at the first position. The dataset must not be null
      Parameters:
        `obj` -
      Since:
        2.0

    - #### set

          void set(Object obj,
                 int i)

      Set the value given by object at given position. The dataset must be 1D
      Parameters:
        `obj` -
        `i` -

    - #### set

          void set(Object obj,
                 int i,
                 int j)

      Set the value given by object at given position. The dataset must be 2D
      Parameters:
        `obj` -
        `i` -
        `j` -

    - #### sort

          Dataset sort(Integer axis)

      In-place sort of dataset
      Parameters:
        `axis` - to sort along. If null, then the flattened view is sorted
      Returns:
        sorted dataset

    - #### getSlice

          Dataset getSlice(int[] start,
                         int[] stop,
                         int[] step)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          Dataset getSlice(IMonitor mon,
                         int[] start,
                         int[] stop,
                         int[] step)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `ILazyDataset`
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          Dataset getSlice(Slice... slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          Dataset getSlice(IMonitor mon,
                         Slice... slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `ILazyDataset`
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          Dataset getSlice(SliceND slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `slice` - an n-D slice
      Returns:
        The dataset of the sliced data

    - #### getSlice

          Dataset getSlice(IMonitor mon,
                         SliceND slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `ILazyDataset`
        `slice` - an n-D slice
      Returns:
        The dataset of the sliced data

    - #### getSliceView

          Dataset getSliceView(int[] start,
                             int[] stop,
                             int[] step)

      Description copied from interface: `IDataset`
      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The sliced view of a dataset

    - #### getSliceView

          Dataset getSliceView(Slice... slice)

      Description copied from interface: `IDataset`
      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The sliced view of a dataset

    - #### getSliceView

          Dataset getSliceView(SliceND slice)

      Description copied from interface: `IDataset`
      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `slice` - an nD slice object
      Returns:
        The sliced view of a dataset

    - #### setSlice

          Dataset setSlice(Object obj,
                         int[] start,
                         int[] stop,
                         int[] step)

      This is modelled after the NumPy array slice
      Parameters:
        `obj` - specifies the object used to set the specified slice
        `start` - specifies the starting indexes
        `stop` - specifies the stopping indexes (nb, these are not included in the slice)
        `step` - specifies the steps in the slice
      Returns:
        The dataset with the sliced set to object

    - #### setSlice

          Dataset setSlice(Object obj,
                         Slice... slice)

      This is modelled after the NumPy array slice
      Parameters:
        `obj` -
        `slice` -

    - #### setSlice

          Dataset setSlice(Object obj,
                         SliceND slice)

      This is modelled after the NumPy array slice
      Parameters:
        `obj` -
        `slice` -

    - #### setSlice

          Dataset setSlice(Object obj,
                         IndexIterator iterator)

      Parameters:
        `obj` - specifies the object used to set the specified slice
        `iterator` - specifies the slice iterator
      Returns:
        The dataset with the sliced set to object

    - #### fillDataset

          void fillDataset(Dataset other,
                         IndexIterator iter)

      Populate another dataset with part of current dataset
      Parameters:
        `other` -
        `iter` - over current dataset

    - #### all

          boolean all()

      Test if all items are true

    - #### all

          Dataset all(int axis)

      Parameters:
        `axis` -
      Returns:
        dataset where items are true if all items along axis are true

    - #### any

          boolean any()

      Test if any items are true

    - #### any

          Dataset any(int axis)

      Parameters:
        `axis` -
      Returns:
        dataset where items are true if any items along axis are true

    - #### iadd

          Dataset iadd(Object o)

      In-place addition with object o
      Parameters:
        `o` -
      Returns:
        sum dataset

    - #### isubtract

          Dataset isubtract(Object o)

      In-place subtraction with object o
      Parameters:
        `o` -
      Returns:
        difference dataset

    - #### imultiply

          Dataset imultiply(Object o)

      In-place multiplication with object o
      Parameters:
        `o` -
      Returns:
        product dataset

    - #### idivide

          Dataset idivide(Object o)

      In-place division with object o
      Parameters:
        `o` -
      Returns:
        dividend dataset

    - #### ifloorDivide

          Dataset ifloorDivide(Object o)

      In-place floor division with object o
      Parameters:
        `o` -
      Returns:
        dividend dataset

    - #### iremainder

          Dataset iremainder(Object o)

      In-place remainder
      Returns:
        remaindered dataset

    - #### ifloor

          Dataset ifloor()

      In-place floor
      Returns:
        floored dataset

    - #### ipower

          Dataset ipower(Object o)

      In-place raise to power of object o
      Parameters:
        `o` -
      Returns:
        raised dataset

    - #### residual

          double residual(Object o)

      Calculate residual of dataset with object o See `residual(Object o, boolean ignoreNaNs)` with ignoreNaNs = false
      Parameters:
        `o` -
      Returns:
        sum of the squares of the differences

    - #### residual

          double residual(Object o,
                        boolean ignoreNaNs)

      Calculate residual of dataset with object o
      Parameters:
        `o` -
        `ignoreNaNs` - if true, skip NaNs
      Returns:
        sum of the squares of the differences

    - #### residual

          double residual(Object o,
                        Dataset weight,
                        boolean ignoreNaNs)

      Calculate residual of dataset with object o and weight. The weight is used to multiply the squared differences
      Parameters:
        `o` -
        `weight` -
        `ignoreNaNs` - if true, skip NaNs
      Returns:
        sum of the squares of the differences

    - #### containsInfs

          boolean containsInfs()

      Returns:
        true if dataset contains any infinities

    - #### containsNans

          boolean containsNans()

      Returns:
        true if dataset contains any NaNs

    - #### containsInvalidNumbers

          boolean containsInvalidNumbers()

      Returns:
        true if dataset contains any NaNs or infinities

    - #### max

          Dataset max(int axis,
                    boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - Can be null, empty, or one or more booleans. By default, all booleans are false. If the first boolean is true, will ignore NaNs and ignore infinities. Use the second boolean to ignore infinities separately.
      Returns:
        maxima along axis in dataset
      Since:
        2.0

    - #### min

          Dataset min(int axis,
                    boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        minima along axis in dataset
      Since:
        2.0

    - #### argMax

          int argMax(boolean... ignoreInvalids)

      Find absolute index of maximum value (in a flattened view)
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        absolute index
      Since:
        2.0

    - #### argMax

          Dataset argMax(int axis,
                       boolean... ignoreInvalids)

      Find indices of maximum values along given axis
      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        index dataset
      Since:
        2.0

    - #### argMin

          int argMin(boolean... ignoreInvalids)

      Find absolute index of minimum value (in a flattened view)
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        absolute index
      Since:
        2.0

    - #### argMin

          Dataset argMin(int axis,
                       boolean... ignoreInvalids)

      Find indices of minimum values along given axis
      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        index dataset
      Since:
        2.0

    - #### peakToPeak

          Number peakToPeak(boolean... ignoreInvalids)

      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        peak-to-peak value, the difference of maximum and minimum of dataset
      Since:
        2.0

    - #### peakToPeak

          Dataset peakToPeak(int axis,
                           boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        peak-to-peak dataset, the difference of maxima and minima of dataset along axis
      Since:
        2.0

    - #### count

          long count(boolean... ignoreInvalids)

      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        number of items in dataset
      Since:
        2.0

    - #### count

          Dataset count(int axis,
                      boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        number of items along axis in dataset
      Since:
        2.0

    - #### sum

          Object sum(boolean... ignoreInvalids)

      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        sum over all items in dataset as a Double, array of doubles or a complex number
      Since:
        2.0

    - #### sum

          Dataset sum(int axis,
                    boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        sum along axis in dataset
      Since:
        2.0

    - #### product

          Object product(boolean... ignoreInvalids)

      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        product over all items in dataset
      Since:
        2.0

    - #### product

          Dataset product(int axis,
                        boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        product along axis in dataset
      Since:
        2.0

    - #### mean

          Dataset mean(int axis,
                     boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        mean along axis in dataset
      Since:
        2.0

    - #### variance

          double variance()

      Returns:
        sample variance of whole dataset
      Since:
        2.0
      See Also:
        `with isWholePopulation = false`

    - #### variance

          double variance(boolean isWholePopulation,
                        boolean... ignoreInvalids)

      The sample variance can be calculated in two ways: if the dataset is considered as the entire population then the sample variance is simply the second central moment:

              sum((x_i - m)^2)/N
           where {x_i} are set of N population values and m is the mean
              m = sum(x_i)/N

      Otherwise, if the dataset is a set of samples (with replacement) from the population then

              sum((x_i - m)^2)/(N-1)
           where {x_i} are set of N sample values and m is the unbiased estimate of the mean
              m = sum(x_i)/N

      Note that the second definition is also the unbiased estimator of population variance.
      Parameters:
        `isWholePopulation` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        sample variance
      Since:
        2.0

    - #### variance

          Dataset variance(int axis)

      Parameters:
        `axis` -
      Returns:
        sample variance along axis in dataset
      See Also:
        `with isWholePopulation = false`

    - #### variance

          Dataset variance(int axis,
                         boolean isWholePopulation,
                         boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `isWholePopulation` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        sample variance along axis in dataset
      Since:
        2.0
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          double stdDeviation()

      Standard deviation is square root of the variance
      Returns:
        sample standard deviation of all items in dataset
      Since:
        2.0
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          double stdDeviation(boolean isWholePopulation,
                            boolean... ignoreInvalids)

      Standard deviation is square root of the variance
      Parameters:
        `isWholePopulation` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        sample standard deviation of all items in dataset
      Since:
        2.0
      See Also:
        `variance(boolean, boolean...)`

    - #### stdDeviation

          Dataset stdDeviation(int axis)

      Standard deviation is square root of the variance
      Parameters:
        `axis` -
      Returns:
        standard deviation along axis in dataset
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          Dataset stdDeviation(int axis,
                             boolean isWholePopulation,
                             boolean... ignoreInvalids)

      Standard deviation is square root of the variance
      Parameters:
        `axis` -
        `isWholePopulation` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        standard deviation along axis in dataset
      Since:
        2.0
      See Also:
        `with isWholePopulation = false`

    - #### rootMeanSquare

          double rootMeanSquare(boolean... ignoreInvalids)

      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        root mean square
      Since:
        2.0

    - #### rootMeanSquare

          Dataset rootMeanSquare(int axis,
                               boolean... ignoreInvalids)

      Parameters:
        `axis` -
        `ignoreInvalids` - - see `max(int, boolean...)`
      Returns:
        root mean square along axis in dataset
      Since:
        2.0

Copyright © 2017. All rights reserved.