org.ojalgo.array
Class Array2D<N extends Number>

java.lang.Object
  extended by org.ojalgo.array.Array2D<N>
All Implemented Interfaces:
Serializable, Access2D<N>

public final class Array2D<N extends Number>
extends Object
implements Access2D<N>, Serializable

Array2D

Author:
apete
See Also:
Serialized Form

Method Summary
 Array1D<N> asArray1D()
          Flattens this two dimensional array to a one dimensional array.
 double doubleValue(int aRow, int aCol)
          Extracts one element of this matrix as a double.
 boolean equals(Object obj)
           
 void exchangeColumns(int aColA, int aColB)
           
 void exchangeRows(int aRowA, int aRowB)
           
 void fillAll(N aNmbr)
           
 void fillColumn(int aRow, int aCol, N aNmbr)
           
 void fillDiagonal(int aRow, int aCol, N aNmbr)
           
 void fillMatching(Array2D<N> aLeftArg, BinaryFunction<N> aFunc, Array2D<N> aRightArg)
           
 void fillRow(int aRow, int aCol, N aNmbr)
           
 N get(int aRow, int aCol)
           
 int getColDim()
          The size of this structure in the column-direction/dimension
 int getIndexOfLargestInColumn(int aRow, int aCol)
           
 int getIndexOfLargestInRow(int aRow, int aCol)
           
 int getMaxDim()
           
 int getMinDim()
           
 int getRowDim()
          The size of this structure in the row-direction/dimension
 int hashCode()
           
 boolean isAbsolute(int aRow, int aCol)
           
 boolean isReal(int aRow, int aCol)
           
 boolean isZero(int aRow, int aCol)
           
static Array2D<BigDecimal> makeBig(BigDecimal[][] aRaw)
           
static Array2D<BigDecimal> makeBig(int aRowDim, int aColDim)
           
static Array2D<ComplexNumber> makeComplex(ComplexNumber[][] aRaw)
           
static Array2D<ComplexNumber> makeComplex(int aRowDim, int aColDim)
           
static Array2D<Double> makePrimitive(double[][] aRaw)
           
static Array2D<Double> makePrimitive(int aRowDim, int aColDim)
           
 void modifyAll(BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyAll(N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyAll(ParameterFunction<N> aFunc, int aParam)
           
 void modifyAll(UnaryFunction<N> aFunc)
           
 void modifyColumn(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyColumn(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyColumn(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyColumn(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void modifyDiagonal(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyDiagonal(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyDiagonal(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyDiagonal(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void modifyMatching(Array2D<N> anArray, BinaryFunction<N> aFunc)
           
 void modifyMatching(BinaryFunction<N> aFunc, Array2D<N> anArray)
           
 void modifyRow(int aRow, int aCol, BinaryFunction<N> aFunc, N aNmbr)
           
 void modifyRow(int aRow, int aCol, N aNmbr, BinaryFunction<N> aFunc)
           
 void modifyRow(int aRow, int aCol, ParameterFunction<N> aFunc, int aParam)
           
 void modifyRow(int aRow, int aCol, UnaryFunction<N> aFunc)
           
 void set(int aRow, int aCol, double aNmbr)
           
 void set(int aRow, int aCol, N aNmbr)
           
 int size()
           
 Array1D<N> sliceColumn(int aRow, int aCol)
           
 Array1D<N> sliceDiagonal(int aRow, int aCol)
           
 Array1D<N> sliceRow(int aRow, int aCol)
           
 double[][] toRawCopy()
           
 Scalar<N> toScalar(int aRow, int aCol)
           
 String toString()
           
 void visitAll(AggregatorFunction<N> aVisitor)
           
 void visitColumn(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 void visitDiagonal(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 void visitRow(int aRow, int aCol, AggregatorFunction<N> aVisitor)
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

makeBig

public static Array2D<BigDecimal> makeBig(BigDecimal[][] aRaw)

makeBig

public static Array2D<BigDecimal> makeBig(int aRowDim,
                                          int aColDim)

makeComplex

public static Array2D<ComplexNumber> makeComplex(ComplexNumber[][] aRaw)

makeComplex

public static Array2D<ComplexNumber> makeComplex(int aRowDim,
                                                 int aColDim)

makePrimitive

public static Array2D<Double> makePrimitive(double[][] aRaw)

makePrimitive

public static Array2D<Double> makePrimitive(int aRowDim,
                                            int aColDim)

asArray1D

public Array1D<N> asArray1D()
Flattens this two dimensional array to a one dimensional array. The (internal/actual) array is not copied, it is just accessed through a different adaptor.


doubleValue

public double doubleValue(int aRow,
                          int aCol)
Extracts one element of this matrix as a double.

Parameters:
aRow - A row index.
aCol - A column index.
Returns:
One matrix element

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

exchangeColumns

public void exchangeColumns(int aColA,
                            int aColB)

exchangeRows

public void exchangeRows(int aRowA,
                         int aRowB)

fillAll

public void fillAll(N aNmbr)

fillColumn

public void fillColumn(int aRow,
                       int aCol,
                       N aNmbr)

fillDiagonal

public void fillDiagonal(int aRow,
                         int aCol,
                         N aNmbr)

fillMatching

public void fillMatching(Array2D<N> aLeftArg,
                         BinaryFunction<N> aFunc,
                         Array2D<N> aRightArg)

fillRow

public void fillRow(int aRow,
                    int aCol,
                    N aNmbr)

get

public N get(int aRow,
             int aCol)

getColDim

public int getColDim()
The size of this structure in the column-direction/dimension

Returns:
The number of columns

getIndexOfLargestInColumn

public int getIndexOfLargestInColumn(int aRow,
                                     int aCol)

getIndexOfLargestInRow

public int getIndexOfLargestInRow(int aRow,
                                  int aCol)

getMaxDim

public int getMaxDim()

getMinDim

public int getMinDim()

getRowDim

public int getRowDim()
The size of this structure in the row-direction/dimension

Returns:
The number of rows

hashCode

public int hashCode()
Overrides:
hashCode in class Object

isAbsolute

public boolean isAbsolute(int aRow,
                          int aCol)
See Also:
Scalar.isAbsolute()

isReal

public boolean isReal(int aRow,
                      int aCol)
See Also:
Scalar.isReal()

isZero

public boolean isZero(int aRow,
                      int aCol)
See Also:
Scalar.isZero()

modifyAll

public void modifyAll(BinaryFunction<N> aFunc,
                      N aNmbr)

modifyAll

public void modifyAll(N aNmbr,
                      BinaryFunction<N> aFunc)

modifyAll

public void modifyAll(ParameterFunction<N> aFunc,
                      int aParam)

modifyAll

public void modifyAll(UnaryFunction<N> aFunc)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         BinaryFunction<N> aFunc,
                         N aNmbr)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         N aNmbr,
                         BinaryFunction<N> aFunc)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         ParameterFunction<N> aFunc,
                         int aParam)

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         UnaryFunction<N> aFunc)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           BinaryFunction<N> aFunc,
                           N aNmbr)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           N aNmbr,
                           BinaryFunction<N> aFunc)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           ParameterFunction<N> aFunc,
                           int aParam)

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           UnaryFunction<N> aFunc)

modifyMatching

public void modifyMatching(Array2D<N> anArray,
                           BinaryFunction<N> aFunc)

modifyMatching

public void modifyMatching(BinaryFunction<N> aFunc,
                           Array2D<N> anArray)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      BinaryFunction<N> aFunc,
                      N aNmbr)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      N aNmbr,
                      BinaryFunction<N> aFunc)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      ParameterFunction<N> aFunc,
                      int aParam)

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      UnaryFunction<N> aFunc)

set

public void set(int aRow,
                int aCol,
                double aNmbr)

set

public void set(int aRow,
                int aCol,
                N aNmbr)

size

public int size()
Returns:
The total number of elements contained in this structure

sliceColumn

public Array1D<N> sliceColumn(int aRow,
                              int aCol)

sliceDiagonal

public Array1D<N> sliceDiagonal(int aRow,
                                int aCol)

sliceRow

public Array1D<N> sliceRow(int aRow,
                           int aCol)

toRawCopy

public double[][] toRawCopy()
Returns:
An array of arrays of doubles

toScalar

public Scalar<N> toScalar(int aRow,
                          int aCol)

toString

public String toString()
Overrides:
toString in class Object

visitAll

public void visitAll(AggregatorFunction<N> aVisitor)

visitColumn

public void visitColumn(int aRow,
                        int aCol,
                        AggregatorFunction<N> aVisitor)

visitDiagonal

public void visitDiagonal(int aRow,
                          int aCol,
                          AggregatorFunction<N> aVisitor)

visitRow

public void visitRow(int aRow,
                     int aCol,
                     AggregatorFunction<N> aVisitor)