mikera.arrayz.impl
Class AbstractArray<T>
- java.lang.Object
-
- mikera.arrayz.impl.AbstractArray<T>
-
- Type Parameters:
T- The type of array slices
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<INDArray>, java.lang.Iterable<T>, INDArray
- Direct Known Subclasses:
- AMatrix, AScalar, AVector, BaseShapedArray
public abstract class AbstractArray<T> extends java.lang.Object implements INDArray, java.lang.Iterable<T>
Abstract base class for INDArray implementations Contains generic implementations for most INDArray operations, enabling new INDArray implementations to inherit these (at least until more optimised implementations can be written). Default implementations assume dimensionality of 1 or above Most INDArray instances should ultimately inherit from AbstractArray- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description AbstractArray()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description voidabs()Replaces all elements of this array with their absolute values, according to Math.abs(double)INDArrayabsCopy()Returns a copy of the array with the abs operator applied to each elementvoidabsDiff(INDArray a)Sets this array to the absolute values of the difference between this array and anotherINDArrayabsDiffCopy(INDArray a)Returns an array containing the absolute values of the difference between this array and anothervoidadd(AScalar a)Subtracts a scalar from every element of this arrayvoidadd(double a)Adds a double value to all elements in this array.voidadd(INDArray a)Adds all the elements of another array to this array, in an elementwise order.voidaddApplyOp(Op op, INDArray a)Adds the result of applying an Op to another array to this array.voidaddAt(long i, double v)Adds to a mutable array, indexed by element position in row major order.INDArrayaddCopy(AScalar a)INDArrayaddCopy(double d)Creates a new array equal to this array with a constant value added to every elementINDArrayaddCopy(INDArray a)Creates a new array equal to the sum of this array with another array.voidaddInnerProduct(AMatrix a, INDArray b)Adds the inner product of a matrix and an array to this arrayvoidaddInnerProduct(AVector a, INDArray b)Adds the inner product of a vector and an array to this arrayvoidaddInnerProduct(INDArray a, INDArray b)Adds the inner product of two arrays to this array.voidaddInnerProduct(INDArray a, INDArray b, double d)Adds a scalar multiple of the inner product of two arrays to this array.voidaddMultiple(INDArray src, double factor)Adds a scaled multiple of another array to this arrayvoidaddMultipleSparse(INDArray src, double factor)Adds a multiple of the source array to the non-sparse elements of this arrayvoidaddOuterProduct(INDArray a, INDArray b)Adds the outer product of two arrays to this array.voidaddOuterProductSparse(INDArray a, INDArray b)Adds the outer product of two arrays to this array.voidaddPower(INDArray src, double exponent)Adds an array with all elements of the source array raised to the specified powervoidaddPower(INDArray src, double exponent, double factor)Adds an array with all elements raised to the specified power and scaled by the given factorvoidaddSparse(double c)Adds to the non-sparse elements of this arrayvoidaddSparse(INDArray a)Adds the corresponding elements of the source array the non-sparse elements of this arrayvoidaddToArray(double[] data, int offset)Adds all the elements of this array to a double array at the specified offset, in row-major ordervoidapplyOp(IOperator op)Applies a unary operator to all elements of the array (in-place)voidapplyOp(Op op)Applies a unary operator to all elements of the array (in-place)voidapplyOp(Op2 op, double b)Applies a binary operator to this array and a double value.voidapplyOp(Op2 op, INDArray b)Applies a binary operator to this array and a second array.INDArrayapplyOpCopy(Op op)Applies a unary operator to all elements of the array (creating a new array)double[]asDoubleArray()Returns the underlying double array representing the densely packed elements of this array.java.util.List<java.lang.Double>asElementList()Returns a Listcontaining all elements of this array AVectorasVector()Constructs a view of all elements in the array as a single vector in row-major order.INDArraybroadcast(int... targetShape)Returns a view of this array broadcasted up to a larger shapeINDArraybroadcastCloneLike(INDArray target)Creates a mutable clone of the array, broadcasted upwards if necessary to match the shape of the target.INDArraybroadcastCopyLike(INDArray target)Creates a copy of the array, broadcasted upwards if necessary to match the shape of the target Like broadCastCloneLike, but does not guarantee a fully mutable clone - hence may be faster when used with immutable or specialized arraysAMatrixbroadcastLike(AMatrix target)Broadcasts an array to match the shape of the target matrixAVectorbroadcastLike(AVector target)Broadcasts an array to match the shape of the target vectorINDArraybroadcastLike(INDArray target)Broadcasts an array to match the shape of the targetvoidclamp(double min, double max)Clamps all the elements of this array within the specified [min,max] rangeINDArrayclone()Returns a clone of the array data, as a new array which will be fully mutable and may be of a different class to the original.intcompareTo(INDArray a)intcomponentCount()Returns the number of components of this array.INDArraycopy()Returns a defensive copy of the array data.INDArraydense()Coerces this INDArray to a dense format, without changing its element values.INDArraydenseClone()Creates a fully mutable dense clone of this array.doubledensity()voiddivide(double factor)Divides all elements by a given factorvoiddivide(INDArray a)Divides all elements in place by the equivalent elements in a second arrayINDArraydivideCopy(double d)Returns a copy of the array with all elements divided by a single constant valueINDArraydivideCopy(INDArray a)Divides all elements by the equivalent elements in a second array.doubleelementAbsPowSum(double p)Returns the sum of the absolute values of all the elements raised to a specified powerjava.util.Iterator<java.lang.Double>elementIterator()Returns an iterator over all elements in this array, in row-major orderdoubleelementMax()Returns the maximum element value in this array.doubleelementMaxAbs()Returns the maximum absolute element value in this array.doubleelementMin()Returns the maximum element value in this array.doubleelementPowSum(double p)Returns the sum of all the elements raised to a specified powerdoubleelementProduct()Returns the product of all elements in the array.booleanelementsEqual(double value)Returns true if all elements are equal to a specific valuedoubleelementSquaredSum()Returns the sum of squared elements in this array.doubleelementSum()Returns the sum of all elements in this array.INDArrayensureMutable()Ensures the array is a fully mutable representation.booleanepsilonEquals(INDArray a)Tests if this array is approximately equal to another array.booleanepsilonEquals(INDArray a, double epsilon)Tests is this array is approximately equal to another array, up to a given tolerance (epsilon) The arrays must have the same shapebooleanequals(AVector a)Returns true if this array is exactly equal to a vector.booleanequals(INDArray a)Checks if two arrays are equal exactly in terms of both value and shape Element equality checks are consistent with compareTobooleanequals(java.lang.Object o)booleanequalsArray(double[] data)Returns true if the elements in this array exactly match the elements in the given array, in row-major order.booleanequalsArray(double[] data, int offset)Returns true if the elements in this array exactly match the elements in the given array, in row-major ordervoidexp()Computes the function e^x (in-place) for all array elementsvoidfill(double value)Fills this array with a single double value.abstract doubleget()Returns the double value of a scalar arraydoubleget(AIndex ix)Returns the double value at the specified position in the arraydoubleget(Index ix)Returns the double value at the specified position in the arrayabstract doubleget(int i)Returns the double value at the specified position in a 1D vectorabstract doubleget(int i, int j)Returns the double value at the specified position in a 2D matrixdoubleget(long i)Returns the double value at the specified position in a 1D vectordoubleget(long[] xs)Returns the double value at the specified index position in an arraydoubleget(long x, long y)Returns the double value at the specified position in a 2D matrixINDArraygetComponent(int k)Gets a component from the array at the specified index Will throw an error if components are not supported, or if the component is out of bounds as defined by 0 <= kINDArray[]getComponents()Gets all components in a new array, with length componentCount();double[]getElements()Gets all elements of the array as a Java double[] arrayvoidgetElements(double[] arr)Copies all elements of this INDArray to the specified double arrayvoidgetElements(double[] dest, int offset)Copies all elements of this array a double array at the specified offsetvoidgetElements(java.lang.Object[] dest, int offset)Copies all elements of this array into an object array at the specified offsetlong[]getLongShape()Returns the shape of the array as an array of longs.intgetShape(int dim)Returns the dimension size for a specific dimension in the array's shapeint[]getShapeClone()Returns the shape of the array as an array of ints, guaranteed to be a new array i.e.java.util.List<?>getSlices()Returns a list of all major slices of this array.java.util.List<?>getSlices(int dimension)Returns a list of all slices of this array along a given dimension.java.util.List<INDArray>getSliceViews()Returns a list of slices as mutable INDArray views.INDArraygetTranspose()Returns the transpose of this array.INDArraygetTransposeCopy()Returns a transposed copy of the array.INDArraygetTransposeView()Returns a transposed view of the array.inthashCode()booleanhasUncountable()Returns true if any element is this array is NaN or infiniteINDArrayimmutable()Returns an immutable version of this array.INDArrayinnerProduct(AScalar s)Calculates the inner product of this array with a scalarINDArrayinnerProduct(AVector a)Computes the inner product of this array with a vectorINDArrayinnerProduct(double a)Calculates the inner product of this array with a double valueINDArrayinnerProduct(INDArray a)Calculates the inner product of this array with another array.booleanisBoolean()Returns true if the array is boolean (contains only 0.0 or 1.0 values)booleanisDense()Returns true if the array is in a dense format.booleanisElementConstrained()Returns true if this array has some constraints on element valuesbooleanisFullyMutable()If this method returns true, the INDArray is guaranteed to be fully mutable in all positions i.e.booleanisMutable()Returns true if the INDArray is mutable (at least partially)booleanisSameShape(INDArray a)Returns true if this array is the same shape as another arraybooleanisSparse()Returns true if the array is in a sparse formatbooleanisZero()Returns true if the array is zero (all elements equal to zero)java.util.Iterator<T>iterator()INDArrayjoin(INDArray a)Joins an array with another array along the major dimension Guarantees a view that combines the two joined arrays.INDArrayjoin(INDArray a, int dimension)Joins an array with another array along a specified dimension.voidlog()Computes the natural logarithm (in-place) for all array elementsvoidmultiply(double d)Multiplies all elements of the array in place by a given double valuevoidmultiply(INDArray a)Multiplies all elements by the equivalent elements in a second array, i.e.INDArraymultiplyCopy(double d)Returns a copy of the array with all elements multiplied by a single constant valueINDArraymultiplyCopy(INDArray a)Multiplies all elements by the equivalent elements in a second array, i.e.INDArraymutable()Coerces this INDArray to a fully mutable format.voidnegate()Negates all elements in the array in placeINDArraynegateCopy()Negates all elements in the array, returning a new arraylongnonZeroCount()Returns the number of non-zero elements in the array.INDArrayouterProduct(INDArray a)Calculates the outer product of this array with another array.voidpow(double exponent)Raises all elements of the array to a specified power in placevoidreciprocal()Replaces all elements in the array with their reciprocalINDArrayreciprocalCopy()Returns a new array where every element is the reciprocal of the corresponding element in this arraydoublereduce(Op2 op)Reduces over all elements of the array in row-major order.doublereduce(Op2 op, double init)Reduces over all elements of the array in row-major order.AVectorreduceSlices(Op2 op)Reduces each vector slice of the array by the given binary operator Reduces down to a single vectorAVectorreduceSlices(Op2 op, double init)Reduces each slice of the array by the given binary operator.INDArrayreorder(int[] order)Returns a re-ordered array by taking the specified order of slices along dimension 0INDArrayreorder(int dim, int[] order)Returns a re-ordered array by taking the specified order of slices along a given dimension May or may not use views of underlying slices (i.e.INDArrayreshape(int... targetShape)Returns a new array by rearranging the elements of this array into the desired shape Truncates or zero-pads the elements as required to fill the new shapeINDArrayrotateView(int dimension, int shift)Returns rotated view of this arrayvoidscale(double d)Scales all elements of the array in place by a given double valuevoidscaleAdd(double factor, double constant)Scales all elements of the array by a given double value and adds a constant valuevoidscaleAdd(double factor, INDArray b, double bfactor, double constant)Scales all elements of the array by a given double value, adds a scaled second array and adds a constant valueINDArrayscaleCopy(double d)Scales all elements of the array by a given double value, returning a new arrayvoidset(double value)Sets all elements of an array to a specific double valuevoidset(INDArray a)Sets this array to the element values contained in another array.voidset(int x, double value)Sets a value at a given position in a mutable 1D arrayvoidset(int x, int y, double value)Sets a value at a given position in a mutable 2D arrayvoidset(long[] xs, double value)Sets the element at the given indexed position in a mutable arrayvoidset(java.lang.Object o)Sets this array to the element values contained in the given object.voidsetApplyOp(Op op, INDArray a)Sets this array to the result of applying an operation to a source arrayvoidsetElements(double... values)Sets all elements in an array using the given double valuesvoidsetElements(double[] values, int offset)Sets all elements in an array using the given double valuesvoidsetElements(int pos, double[] values, int offset, int length)Sets elements in an array using the given double values.voidsetInnerProduct(INDArray a, INDArray b)Sets this array to the inner product of two arrays.voidsetMultiple(INDArray a, double b)Sets this array to be the multiple of another array.voidsetMultiple(INDArray a, INDArray b)Sets this array to the element-wise multiple of two arrays.voidsetSparse(double value)Sets the non-sparse elements of this array to the specified value May throw an exception if non-sparse elements are not mutablevoidsetSparse(INDArray a)Sets the non-sparse elements of this array to the corresponding elements of the source arrayvoidsignum()Calculates the signum of all elements of this mutable array Sets each component of the array to its sign value (-1, 0 or 1)INDArraysignumCopy()Returns a copy of the array with the signum operator applied to each elementjava.lang.ObjectsliceValue(int i)Returns the value of a major slice of this array (slice along dimension 0) Like 'slice', except returns a Double value for slices of 1D vectorsINDArraysparse()Coerces this INDArray to a sparse format, without changing its element values.INDArraysparseClone()Creates a fully mutable clone of this array.voidsqrt()Computes the square root of all elements in the arrayvoidsquare()Squares all elements of the array in placeINDArraysquareCopy()Squares all elements of the array, returning a new arrayvoidsub(AScalar a)Subtracts a scalar from every element of this arrayvoidsub(double a)Subtracts a double value from all elements in this arrayvoidsub(INDArray a)Subtracts all the elements of another array from this array, in an elementwise order.INDArraysubArray(int[] offsets, int[] shape)Returns a subarray view of a larger arrayINDArraysubCopy(INDArray a)Creates a new array equal to the subtraction of another array from this arraydouble[]toDoubleArray()Copies the elements of this array to a new double[] array.voidtoDoubleBuffer(java.nio.DoubleBuffer dest)Copies the elements of this INDArray to the specified double buffer.INDArray[]toSliceArray()Copies the slices of this array to a new INDArray[] Throws an error if the array has no slices (i.e.java.lang.StringtoString()java.lang.StringtoStringFull()VectortoVector()Coerces the array into a flattened dense Vector, in row-major order.voidvalidate()Validates the internal data structure of the INDArray.INDArraywithComponents(INDArray... cs)Returns a new array of the same shape/structure as the original but with the specified components.-
Methods inherited from interface mikera.arrayz.INDArray
dimensionality, elementCount, exactClone, get, getElement, getShape, isView, set, slice, slice, sliceCount
-
-
-
-
Method Detail
-
get
public abstract double get()
Description copied from interface:INDArrayReturns the double value of a scalar array
-
get
public abstract double get(int i)
Description copied from interface:INDArrayReturns the double value at the specified position in a 1D vector
-
get
public double get(long i)
Description copied from interface:INDArrayReturns the double value at the specified position in a 1D vector
-
get
public abstract double get(int i, int j)Description copied from interface:INDArrayReturns the double value at the specified position in a 2D matrix
-
get
public double get(long x, long y)Description copied from interface:INDArrayReturns the double value at the specified position in a 2D matrix
-
get
public double get(long[] xs)
Description copied from interface:INDArrayReturns the double value at the specified index position in an array
-
get
public double get(AIndex ix)
Description copied from interface:INDArrayReturns the double value at the specified position in the array
-
get
public double get(Index ix)
Description copied from interface:INDArrayReturns the double value at the specified position in the array
-
getShape
public int getShape(int dim)
Description copied from interface:INDArrayReturns the dimension size for a specific dimension in the array's shape
-
getShapeClone
public int[] getShapeClone()
Description copied from interface:INDArrayReturns the shape of the array as an array of ints, guaranteed to be a new array i.e. will perform a defensive copy of any internal shape array if required.- Specified by:
getShapeClonein interfaceINDArray
-
getLongShape
public long[] getLongShape()
Description copied from interface:INDArrayReturns the shape of the array as an array of longs.- Specified by:
getLongShapein interfaceINDArray
-
epsilonEquals
public final boolean epsilonEquals(INDArray a)
Description copied from interface:INDArrayTests if this array is approximately equal to another array. The arrays must have the same shape.- Specified by:
epsilonEqualsin interfaceINDArray
-
epsilonEquals
public boolean epsilonEquals(INDArray a, double epsilon)
Description copied from interface:INDArrayTests is this array is approximately equal to another array, up to a given tolerance (epsilon) The arrays must have the same shape- Specified by:
epsilonEqualsin interfaceINDArray
-
isBoolean
public boolean isBoolean()
Description copied from interface:INDArrayReturns true if the array is boolean (contains only 0.0 or 1.0 values)
-
isSparse
public boolean isSparse()
Description copied from interface:INDArrayReturns true if the array is in a sparse format
-
isDense
public boolean isDense()
Description copied from interface:INDArrayReturns true if the array is in a dense format. A dense format uses efficient storage proportional to the number of elements
-
isMutable
public boolean isMutable()
Description copied from interface:INDArrayReturns true if the INDArray is mutable (at least partially)
-
isFullyMutable
public boolean isFullyMutable()
Description copied from interface:INDArrayIf this method returns true, the INDArray is guaranteed to be fully mutable in all positions i.e. every position can store any valid double value- Specified by:
isFullyMutablein interfaceINDArray
-
applyOp
public void applyOp(Op op)
Description copied from interface:INDArrayApplies a unary operator to all elements of the array (in-place)
-
applyOp
public void applyOp(IOperator op)
Description copied from interface:INDArrayApplies a unary operator to all elements of the array (in-place)
-
applyOp
public void applyOp(Op2 op, INDArray b)
Description copied from interface:INDArrayApplies a binary operator to this array and a second array. Broadcasts the second array to the shape of this array if required.
-
applyOp
public void applyOp(Op2 op, double b)
Description copied from interface:INDArrayApplies a binary operator to this array and a double value. Works as if the double value was broadcast to the shape of this array.
-
multiply
public void multiply(double d)
Description copied from interface:INDArrayMultiplies all elements of the array in place by a given double value
-
multiplyCopy
public INDArray multiplyCopy(double d)
Description copied from interface:INDArrayReturns a copy of the array with all elements multiplied by a single constant value- Specified by:
multiplyCopyin interfaceINDArray- Parameters:
d- A scalar factor- Returns:
- A new array, with all element values scaled by the given factor
-
divideCopy
public INDArray divideCopy(double d)
Description copied from interface:INDArrayReturns a copy of the array with all elements divided by a single constant value- Specified by:
divideCopyin interfaceINDArray- Returns:
- A new array, with all element values scaled by the given factor
-
applyOpCopy
public INDArray applyOpCopy(Op op)
Description copied from interface:INDArrayApplies a unary operator to all elements of the array (creating a new array)- Specified by:
applyOpCopyin interfaceINDArray
-
reduce
public double reduce(Op2 op, double init)
Description copied from interface:INDArrayReduces over all elements of the array in row-major order. Applies the operator to the initial/previous result at each step. Returns the final result.
-
reduce
public double reduce(Op2 op)
Description copied from interface:INDArrayReduces over all elements of the array in row-major order. Applies the operator to the previous result at each step. Returns the final result.
-
isElementConstrained
public boolean isElementConstrained()
Description copied from interface:INDArrayReturns true if this array has some constraints on element values- Specified by:
isElementConstrainedin interfaceINDArray
-
isSameShape
public boolean isSameShape(INDArray a)
Description copied from interface:INDArrayReturns true if this array is the same shape as another array- Specified by:
isSameShapein interfaceINDArray
-
asVector
public AVector asVector()
Description copied from interface:INDArrayConstructs a view of all elements in the array as a single vector in row-major order.
-
setElements
public void setElements(double[] values, int offset)Description copied from interface:INDArraySets all elements in an array using the given double values- Specified by:
setElementsin interfaceINDArray- Parameters:
values- Element values in a double[] array. There must be at least as many element values as elements in this array.offset- Position in the values array from which to start taking values.
-
setElements
public void setElements(int pos, double[] values, int offset, int length)Description copied from interface:INDArraySets elements in an array using the given double values. The source array must contain at least the specified length in terms of number of elements- Specified by:
setElementsin interfaceINDArray- Parameters:
pos- Offset into this array, expressed in terms of number of elements in row major ordervalues- Element values in a double[] array. There must be at least as many element values as elements in this array.offset- Position in the values array from which to start taking values.length- Number of elements to set.
-
isZero
public boolean isZero()
Description copied from interface:INDArrayReturns true if the array is zero (all elements equal to zero)
-
ensureMutable
public INDArray ensureMutable()
Description copied from interface:INDArrayEnsures the array is a fully mutable representation. Returns either the same array or a new clone.- Specified by:
ensureMutablein interfaceINDArray
-
fill
public void fill(double value)
Description copied from interface:INDArrayFills this array with a single double value. Requires the array to be mutable.
-
innerProduct
public INDArray innerProduct(double a)
Description copied from interface:INDArrayCalculates the inner product of this array with a double value- Specified by:
innerProductin interfaceINDArray
-
innerProduct
public INDArray innerProduct(INDArray a)
Description copied from interface:INDArrayCalculates the inner product of this array with another array.- Specified by:
innerProductin interfaceINDArray
-
innerProduct
public INDArray innerProduct(AScalar s)
Description copied from interface:INDArrayCalculates the inner product of this array with a scalar- Specified by:
innerProductin interfaceINDArray
-
innerProduct
public INDArray innerProduct(AVector a)
Description copied from interface:INDArrayComputes the inner product of this array with a vector- Specified by:
innerProductin interfaceINDArray- Parameters:
a- A vector- Returns:
- A new array representing the inner product
-
outerProduct
public INDArray outerProduct(INDArray a)
Description copied from interface:INDArrayCalculates the outer product of this array with another array.- Specified by:
outerProductin interfaceINDArray
-
getTranspose
public INDArray getTranspose()
Description copied from interface:INDArrayReturns the transpose of this array. A transpose of an array is equivalent to reversing the order of dimensions. May or may not return a view depending on the array type.- Specified by:
getTransposein interfaceINDArray
-
getTransposeView
public INDArray getTransposeView()
Description copied from interface:INDArrayReturns a transposed view of the array. May throw UnsupportedOperationException if the array type does not support this capability- Specified by:
getTransposeViewin interfaceINDArray
-
getTransposeCopy
public INDArray getTransposeCopy()
Description copied from interface:INDArrayReturns a transposed copy of the array. Guarantees a new defensive copy.- Specified by:
getTransposeCopyin interfaceINDArray
-
scale
public final void scale(double d)
Description copied from interface:INDArrayScales all elements of the array in place by a given double value
-
scaleAdd
public void scaleAdd(double factor, double constant)Description copied from interface:INDArrayScales all elements of the array by a given double value and adds a constant value
-
scaleAdd
public void scaleAdd(double factor, INDArray b, double bfactor, double constant)Description copied from interface:INDArrayScales all elements of the array by a given double value, adds a scaled second array and adds a constant value
-
addMultiple
public void addMultiple(INDArray src, double factor)
Description copied from interface:INDArrayAdds a scaled multiple of another array to this array- Specified by:
addMultiplein interfaceINDArray
-
addMultipleSparse
public void addMultipleSparse(INDArray src, double factor)
Description copied from interface:INDArrayAdds a multiple of the source array to the non-sparse elements of this array- Specified by:
addMultipleSparsein interfaceINDArray
-
addPower
public void addPower(INDArray src, double exponent)
Description copied from interface:INDArrayAdds an array with all elements of the source array raised to the specified power
-
addPower
public void addPower(INDArray src, double exponent, double factor)
Description copied from interface:INDArrayAdds an array with all elements raised to the specified power and scaled by the given factor
-
addInnerProduct
public void addInnerProduct(INDArray a, INDArray b)
Description copied from interface:INDArrayAdds the inner product of two arrays to this array.- Specified by:
addInnerProductin interfaceINDArray
-
addInnerProduct
public void addInnerProduct(INDArray a, INDArray b, double d)
Description copied from interface:INDArrayAdds a scalar multiple of the inner product of two arrays to this array.- Specified by:
addInnerProductin interfaceINDArray
-
addInnerProduct
public void addInnerProduct(AMatrix a, INDArray b)
Adds the inner product of a matrix and an array to this array- Parameters:
a-b-
-
addInnerProduct
public void addInnerProduct(AVector a, INDArray b)
Adds the inner product of a vector and an array to this array- Parameters:
a-b-
-
addOuterProduct
public void addOuterProduct(INDArray a, INDArray b)
Description copied from interface:INDArrayAdds the outer product of two arrays to this array.- Specified by:
addOuterProductin interfaceINDArray
-
addOuterProductSparse
public void addOuterProductSparse(INDArray a, INDArray b)
Description copied from interface:INDArrayAdds the outer product of two arrays to this array. Only affects the mutable, non-sparse elements of this array.- Specified by:
addOuterProductSparsein interfaceINDArray
-
addSparse
public void addSparse(double c)
Description copied from interface:INDArrayAdds to the non-sparse elements of this array
-
addSparse
public void addSparse(INDArray a)
Description copied from interface:INDArrayAdds the corresponding elements of the source array the non-sparse elements of this array
-
setInnerProduct
public void setInnerProduct(INDArray a, INDArray b)
Description copied from interface:INDArraySets this array to the inner product of two arrays. Must be the correct shape.- Specified by:
setInnerProductin interfaceINDArray
-
setMultiple
public void setMultiple(INDArray a, INDArray b)
Description copied from interface:INDArraySets this array to the element-wise multiple of two arrays. Must have compatible shapes.- Specified by:
setMultiplein interfaceINDArray
-
setMultiple
public void setMultiple(INDArray a, double b)
Description copied from interface:INDArraySets this array to be the multiple of another array. Must have compatible shapes.- Specified by:
setMultiplein interfaceINDArray
-
setSparse
public void setSparse(INDArray a)
Description copied from interface:INDArraySets the non-sparse elements of this array to the corresponding elements of the source array
-
setSparse
public void setSparse(double value)
Description copied from interface:INDArraySets the non-sparse elements of this array to the specified value May throw an exception if non-sparse elements are not mutable
-
addCopy
public INDArray addCopy(double d)
Description copied from interface:INDArrayCreates a new array equal to this array with a constant value added to every element
-
set
public void set(double value)
Description copied from interface:INDArraySets all elements of an array to a specific double value
-
set
public void set(int x, double value)Description copied from interface:INDArraySets a value at a given position in a mutable 1D array
-
set
public void set(int x, int y, double value)Description copied from interface:INDArraySets a value at a given position in a mutable 2D array
-
set
public void set(long[] xs, double value)Description copied from interface:INDArraySets the element at the given indexed position in a mutable array
-
set
public void set(INDArray a)
Description copied from interface:INDArraySets this array to the element values contained in another array. Broadcasts the source array if necessary to the shape of this array. Throws an exception if the shapes are incompatible.
-
setApplyOp
public void setApplyOp(Op op, INDArray a)
Description copied from interface:INDArraySets this array to the result of applying an operation to a source array- Specified by:
setApplyOpin interfaceINDArray
-
addApplyOp
public void addApplyOp(Op op, INDArray a)
Description copied from interface:INDArrayAdds the result of applying an Op to another array to this array.- Specified by:
addApplyOpin interfaceINDArray- Parameters:
op- A Vectorz Op
-
clamp
public void clamp(double min, double max)Description copied from interface:INDArrayClamps all the elements of this array within the specified [min,max] range
-
set
public void set(java.lang.Object o)
Description copied from interface:INDArraySets this array to the element values contained in the given object. Attempts to interpret the object as an array, and broadcasts the object to the shape of this array if required.
-
setElements
public void setElements(double... values)
Description copied from interface:INDArraySets all elements in an array using the given double values- Specified by:
setElementsin interfaceINDArray- Parameters:
values- Element values in a double[] array. There must be at least as many element values as elements in this array.
-
square
public void square()
Description copied from interface:INDArraySquares all elements of the array in place
-
squareCopy
public INDArray squareCopy()
Description copied from interface:INDArraySquares all elements of the array, returning a new array- Specified by:
squareCopyin interfaceINDArray
-
absCopy
public INDArray absCopy()
Description copied from interface:INDArrayReturns a copy of the array with the abs operator applied to each element
-
reciprocalCopy
public INDArray reciprocalCopy()
Description copied from interface:INDArrayReturns a new array where every element is the reciprocal of the corresponding element in this array- Specified by:
reciprocalCopyin interfaceINDArray
-
signumCopy
public INDArray signumCopy()
Description copied from interface:INDArrayReturns a copy of the array with the signum operator applied to each element- Specified by:
signumCopyin interfaceINDArray- Returns:
- A new array containing the signums of element values
-
iterator
public java.util.Iterator<T> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<T>
-
elementIterator
public java.util.Iterator<java.lang.Double> elementIterator()
Description copied from interface:INDArrayReturns an iterator over all elements in this array, in row-major order- Specified by:
elementIteratorin interfaceINDArray
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
equalsArray
public boolean equalsArray(double[] data)
Description copied from interface:INDArrayReturns true if the elements in this array exactly match the elements in the given array, in row-major order. Returns false otherwise.- Specified by:
equalsArrayin interfaceINDArray- Parameters:
data- Array of double element values to check for equality- Returns:
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toStringFull
public java.lang.String toStringFull()
-
clone
public INDArray clone()
Description copied from interface:INDArrayReturns a clone of the array data, as a new array which will be fully mutable and may be of a different class to the original. Clone should attempt to return the most efficient possible array type. Clone should preserve sparsity property where possible, but this is not guaranteed.
-
copy
public INDArray copy()
Description copied from interface:INDArrayReturns a defensive copy of the array data. Use this if the original array might change and you need a defensive copy. May return the same array if the original was immutable, otherwise will return a defensive copy.
-
scaleCopy
public INDArray scaleCopy(double d)
Description copied from interface:INDArrayScales all elements of the array by a given double value, returning a new array
-
negateCopy
public INDArray negateCopy()
Description copied from interface:INDArrayNegates all elements in the array, returning a new array- Specified by:
negateCopyin interfaceINDArray
-
equals
public boolean equals(INDArray a)
Description copied from interface:INDArrayChecks if two arrays are equal exactly in terms of both value and shape Element equality checks are consistent with compareTo
-
equals
public boolean equals(AVector a)
Returns true if this array is exactly equal to a vector.- Parameters:
a-- Returns:
-
equalsArray
public boolean equalsArray(double[] data, int offset)Description copied from interface:INDArrayReturns true if the elements in this array exactly match the elements in the given array, in row-major order- Specified by:
equalsArrayin interfaceINDArray- Parameters:
data- Array of double element values to check for equalityoffset- Offset into the data array- Returns:
-
add
public void add(INDArray a)
Description copied from interface:INDArrayAdds all the elements of another array to this array, in an elementwise order.
-
sub
public final void sub(AScalar a)
Subtracts a scalar from every element of this array- Parameters:
a-
-
add
public final void add(AScalar a)
Subtracts a scalar from every element of this array- Parameters:
a-
-
add
public void add(double a)
Description copied from interface:INDArrayAdds a double value to all elements in this array. Implementations may optimize the case of 0.0
-
addAt
public void addAt(long i, double v)Description copied from interface:INDArrayAdds to a mutable array, indexed by element position in row major order. This is an unsafe operation: bounds are not checked
-
addCopy
public INDArray addCopy(INDArray a)
Description copied from interface:INDArrayCreates a new array equal to the sum of this array with another array.
-
subCopy
public INDArray subCopy(INDArray a)
Description copied from interface:INDArrayCreates a new array equal to the subtraction of another array from this array
-
multiplyCopy
public INDArray multiplyCopy(INDArray a)
Description copied from interface:INDArrayMultiplies all elements by the equivalent elements in a second array, i.e. performs elementwise multiplication. Returns a new array. If matrix-style multiplication is required, use innerProduct instead.- Specified by:
multiplyCopyin interfaceINDArray
-
divideCopy
public INDArray divideCopy(INDArray a)
Description copied from interface:INDArrayDivides all elements by the equivalent elements in a second array. Returns a new array.- Specified by:
divideCopyin interfaceINDArray
-
addToArray
public void addToArray(double[] data, int offset)Description copied from interface:INDArrayAdds all the elements of this array to a double array at the specified offset, in row-major order- Specified by:
addToArrayin interfaceINDArray
-
pow
public void pow(double exponent)
Description copied from interface:INDArrayRaises all elements of the array to a specified power in place
-
sub
public void sub(double a)
Description copied from interface:INDArraySubtracts a double value from all elements in this array
-
multiply
public void multiply(INDArray a)
Description copied from interface:INDArrayMultiplies all elements by the equivalent elements in a second array, i.e. performs elementwise multiplication. If matrix-style multiplication is required, use innerProduct instead.
-
divide
public void divide(INDArray a)
Description copied from interface:INDArrayDivides all elements in place by the equivalent elements in a second array
-
divide
public void divide(double factor)
Description copied from interface:INDArrayDivides all elements by a given factor
-
nonZeroCount
public long nonZeroCount()
Description copied from interface:INDArrayReturns the number of non-zero elements in the array.- Specified by:
nonZeroCountin interfaceINDArray
-
density
public double density()
-
elementSum
public double elementSum()
Description copied from interface:INDArrayReturns the sum of all elements in this array.- Specified by:
elementSumin interfaceINDArray
-
elementProduct
public double elementProduct()
Description copied from interface:INDArrayReturns the product of all elements in the array.- Specified by:
elementProductin interfaceINDArray- Returns:
-
elementMax
public double elementMax()
Description copied from interface:INDArrayReturns the maximum element value in this array. Throws an error if there are no elements.- Specified by:
elementMaxin interfaceINDArray
-
elementsEqual
public boolean elementsEqual(double value)
Description copied from interface:INDArrayReturns true if all elements are equal to a specific value- Specified by:
elementsEqualin interfaceINDArray
-
elementMin
public double elementMin()
Description copied from interface:INDArrayReturns the maximum element value in this array. Throws an error if there are no elements.- Specified by:
elementMinin interfaceINDArray
-
elementSquaredSum
public double elementSquaredSum()
Description copied from interface:INDArrayReturns the sum of squared elements in this array.- Specified by:
elementSquaredSumin interfaceINDArray
-
sub
public void sub(INDArray a)
Description copied from interface:INDArraySubtracts all the elements of another array from this array, in an elementwise order.
-
negate
public void negate()
Description copied from interface:INDArrayNegates all elements in the array in place
-
reciprocal
public void reciprocal()
Description copied from interface:INDArrayReplaces all elements in the array with their reciprocal- Specified by:
reciprocalin interfaceINDArray
-
abs
public void abs()
Description copied from interface:INDArrayReplaces all elements of this array with their absolute values, according to Math.abs(double)
-
absDiff
public void absDiff(INDArray a)
Description copied from interface:INDArraySets this array to the absolute values of the difference between this array and another
-
absDiffCopy
public INDArray absDiffCopy(INDArray a)
Description copied from interface:INDArrayReturns an array containing the absolute values of the difference between this array and another- Specified by:
absDiffCopyin interfaceINDArray- Returns:
- A new array containing the absolute element values
-
sqrt
public void sqrt()
Description copied from interface:INDArrayComputes the square root of all elements in the array
-
log
public void log()
Description copied from interface:INDArrayComputes the natural logarithm (in-place) for all array elements
-
exp
public void exp()
Description copied from interface:INDArrayComputes the function e^x (in-place) for all array elements
-
signum
public void signum()
Description copied from interface:INDArrayCalculates the signum of all elements of this mutable array Sets each component of the array to its sign value (-1, 0 or 1)
-
reshape
public INDArray reshape(int... targetShape)
Description copied from interface:INDArrayReturns a new array by rearranging the elements of this array into the desired shape Truncates or zero-pads the elements as required to fill the new shape
-
reorder
public INDArray reorder(int dim, int[] order)
Description copied from interface:INDArrayReturns a re-ordered array by taking the specified order of slices along a given dimension May or may not use views of underlying slices (i.e. may be a reordered view)
-
reorder
public INDArray reorder(int[] order)
Description copied from interface:INDArrayReturns a re-ordered array by taking the specified order of slices along dimension 0
-
getSlices
public java.util.List<?> getSlices(int dimension)
Description copied from interface:INDArrayReturns a list of all slices of this array along a given dimension. Returns a list of Double values if a 1-dimensional array is sliced, otherwise a list of INDArray instances
-
getSlices
public java.util.List<?> getSlices()
Description copied from interface:INDArrayReturns a list of all major slices of this array. Returns a list of Double values if a 1-dimensional array is sliced, otherwise a list of INDArray instances
-
getSliceViews
public java.util.List<INDArray> getSliceViews()
Description copied from interface:INDArrayReturns a list of slices as mutable INDArray views. Note: will return a list of AScalar values when this array is a 1D vector- Specified by:
getSliceViewsin interfaceINDArray
-
componentCount
public int componentCount()
Description copied from interface:INDArrayReturns the number of components of this array. May return 0 if components are not supported- Specified by:
componentCountin interfaceINDArray- Returns:
-
getComponent
public INDArray getComponent(int k)
Description copied from interface:INDArrayGets a component from the array at the specified index Will throw an error if components are not supported, or if the component is out of bounds as defined by 0 <= k- Specified by:
getComponentin interfaceINDArray- Returns:
-
getComponents
public INDArray[] getComponents()
Description copied from interface:INDArrayGets all components in a new array, with length componentCount();- Specified by:
getComponentsin interfaceINDArray- Returns:
-
withComponents
public INDArray withComponents(INDArray... cs)
Description copied from interface:INDArrayReturns a new array of the same shape/structure as the original but with the specified components. Components must be of a compatible type and identical shape to the original components.- Specified by:
withComponentsin interfaceINDArray
-
subArray
public INDArray subArray(int[] offsets, int[] shape)
Description copied from interface:INDArrayReturns a subarray view of a larger array
-
join
public INDArray join(INDArray a, int dimension)
Description copied from interface:INDArrayJoins an array with another array along a specified dimension. Guarantees a view that combines the two joined arrays.
-
join
public INDArray join(INDArray a)
Description copied from interface:INDArrayJoins an array with another array along the major dimension Guarantees a view that combines the two joined arrays.
-
rotateView
public INDArray rotateView(int dimension, int shift)
Description copied from interface:INDArrayReturns rotated view of this array- Specified by:
rotateViewin interfaceINDArray
-
toVector
public Vector toVector()
Description copied from interface:INDArrayCoerces the array into a flattened dense Vector, in row-major order. May return the same array if it is already a Vector instance.
-
asElementList
public java.util.List<java.lang.Double> asElementList()
Description copied from interface:INDArrayReturns a Listcontaining all elements of this array - Specified by:
asElementListin interfaceINDArray
-
getElements
public final double[] getElements()
Description copied from interface:INDArrayGets all elements of the array as a Java double[] array- Specified by:
getElementsin interfaceINDArray- Returns:
- A Java double[] array containing all elements in row-major order
-
getElements
public void getElements(double[] dest, int offset)Description copied from interface:INDArrayCopies all elements of this array a double array at the specified offset- Specified by:
getElementsin interfaceINDArray
-
getElements
public void getElements(java.lang.Object[] dest, int offset)Description copied from interface:INDArrayCopies all elements of this array into an object array at the specified offset- Specified by:
getElementsin interfaceINDArray
-
getElements
public void getElements(double[] arr)
Description copied from interface:INDArrayCopies all elements of this INDArray to the specified double array- Specified by:
getElementsin interfaceINDArray
-
toDoubleBuffer
public void toDoubleBuffer(java.nio.DoubleBuffer dest)
Description copied from interface:INDArrayCopies the elements of this INDArray to the specified double buffer.- Specified by:
toDoubleBufferin interfaceINDArray
-
toDoubleArray
public double[] toDoubleArray()
Description copied from interface:INDArrayCopies the elements of this array to a new double[] array.- Specified by:
toDoubleArrayin interfaceINDArray
-
asDoubleArray
public double[] asDoubleArray()
Description copied from interface:INDArrayReturns the underlying double array representing the densely packed elements of this array. Modifications to this double array will change the original array. Returns null if there is no such array.- Specified by:
asDoubleArrayin interfaceINDArray
-
toSliceArray
public INDArray[] toSliceArray()
Description copied from interface:INDArrayCopies the slices of this array to a new INDArray[] Throws an error if the array has no slices (i.e. is zero-dimensional)- Specified by:
toSliceArrayin interfaceINDArray
-
sliceValue
public java.lang.Object sliceValue(int i)
Description copied from interface:INDArrayReturns the value of a major slice of this array (slice along dimension 0) Like 'slice', except returns a Double value for slices of 1D vectors- Specified by:
sliceValuein interfaceINDArray
-
broadcast
public INDArray broadcast(int... targetShape)
Description copied from interface:INDArrayReturns a view of this array broadcasted up to a larger shape
-
immutable
public INDArray immutable()
Description copied from interface:INDArrayReturns an immutable version of this array. May return the same array if already immutable. Guarantees a defensive copy if the array is mutable.
-
mutable
public INDArray mutable()
Description copied from interface:INDArrayCoerces this INDArray to a fully mutable format. May return the same INDArray if already fully mutable
-
sparse
public INDArray sparse()
Description copied from interface:INDArrayCoerces this INDArray to a sparse format, without changing its element values. May return the same INDArray if already sparse. May also mutate the internal structure of the original NDArray, or create a view over parts of the original INDArray. You should take a defensive copy of the original NDArray if any of this concerns you. The returned sparse array may not be fully mutable in all elements.
-
sparseClone
public INDArray sparseClone()
Description copied from interface:INDArrayCreates a fully mutable clone of this array. Will use a sparse format if possible.- Specified by:
sparseClonein interfaceINDArray
-
dense
public INDArray dense()
Description copied from interface:INDArrayCoerces this INDArray to a dense format, without changing its element values. May return the same INDArray if already dense. May also mutate the internal structure of the original NDArray, or create a view over parts of the original INDArray. You should take a defensive copy of the original NDArray if any of this concerns you. The returned dense array may not be fully mutable in all elements.
-
denseClone
public INDArray denseClone()
Description copied from interface:INDArrayCreates a fully mutable dense clone of this array. Will always use a dense format, even if the array data is sparse.- Specified by:
denseClonein interfaceINDArray
-
broadcastLike
public INDArray broadcastLike(INDArray target)
Description copied from interface:INDArrayBroadcasts an array to match the shape of the target- Specified by:
broadcastLikein interfaceINDArray- Parameters:
target- The target array
-
broadcastLike
public AMatrix broadcastLike(AMatrix target)
Description copied from interface:INDArrayBroadcasts an array to match the shape of the target matrix- Specified by:
broadcastLikein interfaceINDArray- Parameters:
target- The target matrix
-
broadcastLike
public AVector broadcastLike(AVector target)
Description copied from interface:INDArrayBroadcasts an array to match the shape of the target vector- Specified by:
broadcastLikein interfaceINDArray- Parameters:
target- The target vector
-
broadcastCloneLike
public INDArray broadcastCloneLike(INDArray target)
Description copied from interface:INDArrayCreates a mutable clone of the array, broadcasted upwards if necessary to match the shape of the target. If no upwards broadcasting is required, returns a regular clone() of this array.- Specified by:
broadcastCloneLikein interfaceINDArray- Parameters:
target- The target array
-
broadcastCopyLike
public INDArray broadcastCopyLike(INDArray target)
Description copied from interface:INDArrayCreates a copy of the array, broadcasted upwards if necessary to match the shape of the target Like broadCastCloneLike, but does not guarantee a fully mutable clone - hence may be faster when used with immutable or specialized arrays- Specified by:
broadcastCopyLikein interfaceINDArray- Parameters:
target- The target array
-
validate
public void validate()
Description copied from interface:INDArrayValidates the internal data structure of the INDArray. Throws an exception on failure. Failure indicates a serious bug and/or data corruption.
-
hasUncountable
public boolean hasUncountable()
Returns true if any element is this array is NaN or infinite- Specified by:
hasUncountablein interfaceINDArray- Returns:
-
elementPowSum
public double elementPowSum(double p)
Returns the sum of all the elements raised to a specified power- Specified by:
elementPowSumin interfaceINDArray- Returns:
-
elementAbsPowSum
public double elementAbsPowSum(double p)
Returns the sum of the absolute values of all the elements raised to a specified power- Specified by:
elementAbsPowSumin interfaceINDArray- Returns:
-
reduceSlices
public AVector reduceSlices(Op2 op)
Description copied from interface:INDArrayReduces each vector slice of the array by the given binary operator Reduces down to a single vector- Specified by:
reduceSlicesin interfaceINDArray
-
compareTo
public int compareTo(INDArray a)
- Specified by:
compareToin interfacejava.lang.Comparable<INDArray>
-
reduceSlices
public AVector reduceSlices(Op2 op, double init)
Description copied from interface:INDArrayReduces each slice of the array by the given binary operator. Results are returned in a vector with one element for each slice. Uses the specified initial value for reduction of each slice.- Specified by:
reduceSlicesin interfaceINDArray
-
elementMaxAbs
public double elementMaxAbs()
Description copied from interface:INDArrayReturns the maximum absolute element value in this array. Throws an error if there are no elements.- Specified by:
elementMaxAbsin interfaceINDArray
-
-
DMelt 3.0 © DataMelt by jWork.ORG
You see the box below because you did not login.