Package edu.cmu.tetrad.util
Class Matrix
java.lang.Object
edu.cmu.tetrad.util.Matrix
- All Implemented Interfaces:
TetradSerializable,Serializable
Wraps the Apache math3 linear algebra library for most uses in Tetrad. Specialized uses will still have to use the
library directly. One issue this fixes is that a BlockRealMatrix cannot represent a matrix with zero rows; this uses
an Array2DRowRealMatrix to represent that case.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidassign.voidassignColumn(int col, Vector doubles) assignColumn.voidassignRow.copy()copy.doubledet()det.diag()diag.booleanequals.doubleget(int i, int j) get.org.apache.commons.math3.linear.RealMatrixGetter for the fieldapacheData.getColumn(int j) getColumn.intgetNumColumns.intgetNumRows.getPart(int i, int j, int k, int l) getPart.getRow(int i) getRow.getSelection(int[] rows, int[] cols) getSelection.ginverse()ginverse.static Matrixidentity(int rows) identity.inverse()inverse.booleanisSquare()isSquare.booleanisSymmetric(double tolerance) isSymmetric.like()like.minus.doublenorm1()norm1.plus.intrank()rank.scalarMult(double scalar) scalarMult.static MatrixGenerates a simple exemplar of this class to test serialization.voidset(int i, int j, double v) set.static MatrixsparseMatrix(int m, int n) sparseMatrix.sqrt()sqrt.sum(int direction) sum.symmetricInverse.times.times.double[][]toArray()toArray.toString()toString.doubletrace()trace.transpose.doublezSum()zSum.
-
Constructor Details
-
Matrix
public Matrix(double[][] data) Constructor for Matrix.
- Parameters:
data- an array ofdoubleobjects
-
Matrix
public Matrix(org.apache.commons.math3.linear.RealMatrix data) Constructor for Matrix.
- Parameters:
data- aRealMatrixobject
-
Matrix
public Matrix(int m, int n) Constructor for Matrix.
- Parameters:
m- a intn- a int
-
Matrix
Constructor for Matrix.
- Parameters:
m- aMatrixobject
-
-
Method Details
-
identity
identity.
- Parameters:
rows- a int- Returns:
- a
Matrixobject
-
sparseMatrix
sparseMatrix.
- Parameters:
m- a intn- a int- Returns:
- a
Matrixobject
-
serializableInstance
Generates a simple exemplar of this class to test serialization.- Returns:
- a
Matrixobject
-
assign
assign.
- Parameters:
matrix- aMatrixobject
-
getNumColumns
public int getNumColumns()getNumColumns.
- Returns:
- a int
-
diag
diag.
- Returns:
- a
Vectorobject
-
getSelection
getSelection.
- Parameters:
rows- an array ofintobjectscols- an array ofintobjects- Returns:
- a
Matrixobject
-
copy
copy.
- Returns:
- a
Matrixobject
-
getColumn
getColumn.
- Parameters:
j- a int- Returns:
- a
Vectorobject
-
times
times.
-
times
times.
-
toArray
public double[][] toArray()toArray.
- Returns:
- an array of
doubleobjects
-
getApacheData
public org.apache.commons.math3.linear.RealMatrix getApacheData()Getter for the field
apacheData.- Returns:
- a
RealMatrixobject
-
get
public double get(int i, int j) get.
- Parameters:
i- a intj- a int- Returns:
- a double
-
like
like.
- Returns:
- a
Matrixobject
-
set
public void set(int i, int j, double v) set.
- Parameters:
i- a intj- a intv- a double
-
getRow
getRow.
- Parameters:
i- a int- Returns:
- a
Vectorobject
-
getPart
getPart.
- Parameters:
i- a intj- a intk- a intl- a int- Returns:
- a
Matrixobject
-
inverse
inverse.
- Returns:
- a
Matrixobject - Throws:
org.apache.commons.math3.linear.SingularMatrixException- if any.
-
symmetricInverse
symmetricInverse.
- Returns:
- a
Matrixobject
-
ginverse
ginverse.
- Returns:
- a
Matrixobject
-
assignRow
assignRow.
- Parameters:
row- a intdoubles- aVectorobject
-
assignColumn
assignColumn.
- Parameters:
col- a intdoubles- aVectorobject
-
trace
public double trace()trace.
- Returns:
- a double
-
det
public double det()det.
- Returns:
- a double
-
transpose
transpose.
- Returns:
- a
Matrixobject
-
equals
equals.
- Parameters:
m- aMatrixobjecttolerance- a double- Returns:
- a boolean
-
isSquare
public boolean isSquare()isSquare.
- Returns:
- a boolean
-
isSymmetric
public boolean isSymmetric(double tolerance) isSymmetric.
- Parameters:
tolerance- a double- Returns:
- a boolean
-
minus
minus.
-
norm1
public double norm1()norm1.
- Returns:
- a double
-
plus
plus.
-
rank
public int rank()rank.
- Returns:
- a int
-
getNumRows
public int getNumRows()getNumRows.
- Returns:
- a int
-
scalarMult
scalarMult.
- Parameters:
scalar- a double- Returns:
- a
Matrixobject
-
sqrt
sqrt.
- Returns:
- a
Matrixobject
-
sum
sum.
- Parameters:
direction- a int- Returns:
- a
Vectorobject
-
zSum
public double zSum()zSum.
- Returns:
- a double
-
toString
toString.
-