All Downloads are FREE. Search and download functionalities are using the official Maven repository.

no.uib.cipr.matrix.package.html Maven / Gradle / Ivy

Go to download

Matrix data structures, linear solvers, least squares methods, eigenvalue, and singular value decompositions. For larger random dense matrices (above ~ 350 x 350) matrix-matrix multiplication C = A.B is about 50% faster than MTJ.

There is a newer version: 1.1.0
Show newest version

	
		Dense and structured sparse matrices, along with matrix factorisations
		and solvers. The main components are:
		
  • Matrix and vector interfaces
    • Matrix - Linear algebra matrix.
    • Vector - Linear algebra vector.
  • Matrix and vector implementations
    • DenseVector - Stores the vector in a dense array.
    • Dense matrices - Stores the data columnwise in a linear array.
      • DenseMatrix - Recommended matrix for general cases.
      • {Lower,Upper}{Symm,SPD}DenseMatrix - Assumes implicit symmetry, and that the matrix is positive definite (SPD). Stores entries in either the upper or lower triangular part.
      • [Unit]{Lower,Upper}TriangDenseMatrix - Only stores in the lower or upper triangular part, and assumes the rest is zero. If the matrix is unit, the main diagonal is implicitly assumes to be one.
    • Packed matrices - Stores either the lower or upper triangular part of the matrix.
      • {Lower,Upper}{Symm,SPD}PackMatrix - Like their dense counterparts, but consumes less memory.
      • [Unit]{Lower,Upper}TriangPackMatrix - Also like their dense counterparts, but consumes less memory.
    • Banded matrices - Stores the matrix in a dense band.
      • BandMatrix - General band matrix with the possibility of different upper and lower triangular bandwidths.
      • {Lower,Upper}{Symm,SPD}BandMatrix - Like their dense counterparts, but consumes less memory by only storing the lower or upper parts.
      • [Unit]{Lower,Upper}TriangBandMatrix - Also like their dense counterparts, but consumes less memory by only storing the lower or upper parts..
    • Tridiagonal matrices - Stores just three diagonals.
      • TridiagMatrix - Standard tridiagonal matrix.
      • {Symm,SPD}TridiagMatrix - Stores only the main diagonal and an off-diagonal. May also assume that the matrix is positive definite.
  • Abstract implementations
    • AbstractMatrix - Implements all the matrix operations, but doesn't specify the matrix storage.
    • AbstractVector - Implements all the vector operations, but doesn't specify the vector storage.
  • Utility methods and iterators
    • Matrices - Creates submatrices and synchronized matrices. Also has several miscellaneous utility methods.
    • MatrixEntry - Entry returned when iterating over a matrix using the for-each statement.
    • VectorEntry - Entry returned when iterating over a vector using the for-each statement.
  • LU decompositions
    • BandLU - LU decomposition of a banded matrix.
    • DenseLU - LU decomposition of a dense matrix.
    • BandCholesky - Cholesky decomposition of a banded matrix.
    • DenseCholesky - Cholesky decomposition of a dense SPD matrix.
    • PackCholesky - Cholesky decomposition of a packed SPD matrix.
  • Orthogonal decompositions
    • LQ - LQ decomposition.
    • QL - QL decomposition.
    • QR - QR decomposition.
    • RQ - RQ decomposition.
    • GivensRotation - Givens plane rotation.
  • Spectral decompositions
    • EVD - Eigenvalue decomposition of general matrices.
    • SVD - Singular value decomposition
    • SymmBandEVD - Eigenvalue decomposition of symmetrical, banded matrices.
    • SymmDenseEVD - Eigenvalue decomposition of symmetrical, dense matrices.
    • SymmPackEVD - Eigenvalue decomposition of symmetrical, packed matrices.
    • SymmTridiagEVD - Eigenvalue decomposition of symmetrical, tridiagonal matrices.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy