jsci.maths.matrices
Class DoubleSparseSquareMatrix
- java.lang.Object
-
- jsci.maths.matrices.Matrix
-
- jsci.maths.matrices.AbstractDoubleMatrix
-
- jsci.maths.matrices.AbstractDoubleSquareMatrix
-
- jsci.maths.matrices.DoubleSparseSquareMatrix
-
- All Implemented Interfaces:
- java.io.Serializable, Algebra.Member, Module.Member, VectorSpace.Member, Ring.Member, AbelianGroup.Member, SquareMatrix, Member
public final class DoubleSparseSquareMatrix extends AbstractDoubleSquareMatrix
The DoubleSparseSquareMatrix class provides an object for encapsulating sparse square matrices. Uses compressed row storage.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description DoubleSparseSquareMatrix(double[][] array)Constructs a matrix from an array.DoubleSparseSquareMatrix(int size)Constructs an empty matrix.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description AbstractDoubleSquareMatrixadd(AbstractDoubleSquareMatrix m)Returns the addition of this matrix and another.DoubleSparseSquareMatrixadd(DoubleSparseSquareMatrix m)Returns the addition of this matrix and another.DoubleSquareMatrixadd(DoubleSquareMatrix m)AbstractDoubleSquareMatrix[]choleskyDecompose()Returns the Cholesky decomposition of this matrix.doubledet()Returns the determinant.booleanequals(AbstractDoubleSquareMatrix m, double tol)Compares two double sparse square matrices for equality.booleanequals(DoubleSparseSquareMatrix m)booleanequals(DoubleSparseSquareMatrix m, double tol)doublefrobeniusNorm()Returns the Frobenius (l2) norm.doublegetElement(int i, int j)Returns an element of the matrix.doubleinfNorm()Returns the l
-norm.AbstractDoubleSquareMatrix[]luDecompose()Returns the LU decomposition of this matrix.AbstractDoubleSquareMatrix[]luDecompose(int[] pivot)Returns the LU decomposition of this matrix.AbstractDoubleMatrixmapElements(Mapping f)Applies a function on all the matrix elements.AbstractDoubleSquareMatrixmultiply(AbstractDoubleSquareMatrix m)Returns the multiplication of this matrix and another.AbstractDoubleVectormultiply(AbstractDoubleVector v)Returns the multiplication of a vector by this matrix.DoubleSparseSquareMatrixmultiply(DoubleSparseSquareMatrix m)Returns the multiplication of this matrix and another.DoubleSquareMatrixmultiply(DoubleSquareMatrix m)AbstractDoubleMatrixscalarDivide(double x)Returns the division of this matrix by a scalar.AbstractDoubleMatrixscalarMultiply(double x)Returns the multiplication of this matrix by a scalar.doublescalarProduct(AbstractDoubleSquareMatrix m)Returns the scalar product of this matrix and another.doublescalarProduct(DoubleSquareMatrix m)voidsetElement(int i, int j, double x)Sets the value of an element of the matrix.AbstractDoubleSquareMatrixsubtract(AbstractDoubleSquareMatrix m)Returns the subtraction of this matrix and another.DoubleSparseSquareMatrixsubtract(DoubleSparseSquareMatrix m)Returns the addition of this matrix and another.DoubleSquareMatrixsubtract(DoubleSquareMatrix m)AbstractComplexMatrixtoComplexMatrix()Converts this matrix to a complex matrix.AbstractIntegerMatrixtoIntegerMatrix()Converts this matrix to an integer matrix.java.lang.StringtoString()Returns a string representing this matrix.doubletrace()Returns the trace.Matrixtranspose()Returns the transpose of this matrix.-
Methods inherited from class jsci.maths.matrices.AbstractDoubleSquareMatrix
add, directSum, inverse, isSymmetric, isUnitary, negate, operatorNorm, polarDecompose, qrDecompose, scalarProduct, singularValueDecompose, subtract, tensor
-
Methods inherited from class jsci.maths.matrices.AbstractDoubleMatrix
add, directSum, equals, equals, equals, getSet, hashCode, multiply, multiply, scalarDivide, scalarMultiply, subtract, tensor
-
-
-
-
Constructor Detail
-
DoubleSparseSquareMatrix
public DoubleSparseSquareMatrix(int size)
Constructs an empty matrix.- Parameters:
size- the number of rows/columns
-
DoubleSparseSquareMatrix
public DoubleSparseSquareMatrix(double[][] array)
Constructs a matrix from an array.- Parameters:
array- an assigned value- Throws:
MatrixDimensionException- If the array is not square.
-
-
Method Detail
-
equals
public boolean equals(AbstractDoubleSquareMatrix m, double tol)
Compares two double sparse square matrices for equality.- Parameters:
m- a double matrix
-
equals
public final boolean equals(DoubleSparseSquareMatrix m)
-
equals
public boolean equals(DoubleSparseSquareMatrix m, double tol)
-
toString
public java.lang.String toString()
Returns a string representing this matrix.- Overrides:
toStringin classAbstractDoubleMatrix
-
toIntegerMatrix
public AbstractIntegerMatrix toIntegerMatrix()
Converts this matrix to an integer matrix.- Overrides:
toIntegerMatrixin classAbstractDoubleSquareMatrix- Returns:
- an integer square matrix
-
toComplexMatrix
public AbstractComplexMatrix toComplexMatrix()
Converts this matrix to a complex matrix.- Overrides:
toComplexMatrixin classAbstractDoubleSquareMatrix- Returns:
- a complex square matrix
-
getElement
public double getElement(int i, int j)Returns an element of the matrix.- Specified by:
getElementin classAbstractDoubleMatrix- Parameters:
i- row index of the elementj- column index of the element- Throws:
MatrixDimensionException- If attempting to access an invalid element.
-
setElement
public void setElement(int i, int j, double x)Sets the value of an element of the matrix.- Specified by:
setElementin classAbstractDoubleMatrix- Parameters:
i- row index of the elementj- column index of the elementx- a number- Throws:
MatrixDimensionException- If attempting to access an invalid element.
-
det
public double det()
Returns the determinant.- Overrides:
detin classAbstractDoubleSquareMatrix
-
trace
public double trace()
Returns the trace.- Overrides:
tracein classAbstractDoubleSquareMatrix
-
infNorm
public double infNorm()
Returns the l
-norm.- Overrides:
infNormin classAbstractDoubleMatrix
-
frobeniusNorm
public double frobeniusNorm()
Returns the Frobenius (l2) norm.- Overrides:
frobeniusNormin classAbstractDoubleMatrix
-
add
public AbstractDoubleSquareMatrix add(AbstractDoubleSquareMatrix m)
Returns the addition of this matrix and another.- Overrides:
addin classAbstractDoubleSquareMatrix- Parameters:
m- a double matrix- Throws:
MatrixDimensionException- If the matrices are different sizes.
-
add
public DoubleSquareMatrix add(DoubleSquareMatrix m)
-
add
public DoubleSparseSquareMatrix add(DoubleSparseSquareMatrix m)
Returns the addition of this matrix and another.- Parameters:
m- a double sparse matrix- Throws:
MatrixDimensionException- If the matrices are different sizes.
-
subtract
public AbstractDoubleSquareMatrix subtract(AbstractDoubleSquareMatrix m)
Returns the subtraction of this matrix and another.- Overrides:
subtractin classAbstractDoubleSquareMatrix- Parameters:
m- a double matrix- Throws:
MatrixDimensionException- If the matrices are different sizes.
-
subtract
public DoubleSquareMatrix subtract(DoubleSquareMatrix m)
-
subtract
public DoubleSparseSquareMatrix subtract(DoubleSparseSquareMatrix m)
Returns the addition of this matrix and another.- Parameters:
m- a double sparse matrix- Throws:
MatrixDimensionException- If the matrices are different sizes.
-
scalarMultiply
public AbstractDoubleMatrix scalarMultiply(double x)
Returns the multiplication of this matrix by a scalar.- Overrides:
scalarMultiplyin classAbstractDoubleSquareMatrix- Parameters:
x- a double- Returns:
- a double sparse matrix
-
scalarDivide
public AbstractDoubleMatrix scalarDivide(double x)
Description copied from class:AbstractDoubleSquareMatrixReturns the division of this matrix by a scalar.- Overrides:
scalarDividein classAbstractDoubleSquareMatrix- Parameters:
x- a double.- Returns:
- a double square matrix.
-
scalarProduct
public double scalarProduct(AbstractDoubleSquareMatrix m)
Returns the scalar product of this matrix and another.- Overrides:
scalarProductin classAbstractDoubleSquareMatrix- Parameters:
m- a double matrix.- Throws:
MatrixDimensionException- If the matrices are different sizes.
-
scalarProduct
public double scalarProduct(DoubleSquareMatrix m)
-
multiply
public AbstractDoubleVector multiply(AbstractDoubleVector v)
Returns the multiplication of a vector by this matrix.- Overrides:
multiplyin classAbstractDoubleMatrix- Parameters:
v- a double vector- Throws:
DimensionException- If the matrix and vector are incompatible.
-
multiply
public AbstractDoubleSquareMatrix multiply(AbstractDoubleSquareMatrix m)
Returns the multiplication of this matrix and another.- Overrides:
multiplyin classAbstractDoubleSquareMatrix- Parameters:
m- a double matrix- Throws:
MatrixDimensionException- If the matrices are incompatible.
-
multiply
public DoubleSquareMatrix multiply(DoubleSquareMatrix m)
-
multiply
public DoubleSparseSquareMatrix multiply(DoubleSparseSquareMatrix m)
Returns the multiplication of this matrix and another.- Parameters:
m- a double sparse matrix- Throws:
MatrixDimensionException- If the matrices are incompatible.
-
transpose
public Matrix transpose()
Returns the transpose of this matrix.- Overrides:
transposein classAbstractDoubleSquareMatrix- Returns:
- a double sparse matrix
-
luDecompose
public AbstractDoubleSquareMatrix[] luDecompose(int[] pivot)
Returns the LU decomposition of this matrix.- Overrides:
luDecomposein classAbstractDoubleSquareMatrix- Parameters:
pivot- an empty array of lengthrows()+1to hold the pivot information (null if not interested)- Returns:
- an array with [0] containing the L-matrix and [1] containing the U-matrix.
-
luDecompose
public AbstractDoubleSquareMatrix[] luDecompose()
Returns the LU decomposition of this matrix. Warning: no pivoting.- Overrides:
luDecomposein classAbstractDoubleSquareMatrix- Returns:
- an array with [0] containing the L-matrix and [1] containing the U-matrix.
-
choleskyDecompose
public AbstractDoubleSquareMatrix[] choleskyDecompose()
Returns the Cholesky decomposition of this matrix. Matrix must be symmetric and positive definite.- Overrides:
choleskyDecomposein classAbstractDoubleSquareMatrix- Returns:
- an array with [0] containing the L-matrix and [1] containing the U-matrix.
-
mapElements
public AbstractDoubleMatrix mapElements(Mapping f)
Applies a function on all the matrix elements.- Overrides:
mapElementsin classAbstractDoubleSquareMatrix- Parameters:
f- a user-defined function- Returns:
- a double sparse matrix
-
-
DMelt 3.0 © DataMelt by jWork.ORG