/** * The linear algebra package provides classes and computational methods for * operations on matrices and vectors. *
* Some content of this package is adapted from the Jama package. *
* Five fundamental matrix decompositions, which consist of pairs or triples * of matrices, permutation vectors, and the like, produce results in five * decomposition classes. These decompositions are accessed by the Matrix * class to compute solutions of simultaneous linear equations, determinants, * inverses and other matrix functions. The five decompositions are: *
* Solve a linear system \(Ax=b\) and compute the residual norm, \(||b-Ax||\). *
* {@code double[][] matrix = { {1.,2.,3}, {4.,5.,6.}, {7.,8.,10.} };}
* {@code double[] b = MathUtil.randomDoubleArray(3, new Random());}
* {@code double[] x = VMath.solve(matrix, b);}
* {@code double[] r = VMath.minusEquals(VMath.times(matrix, x), b);}
* {@code double norm = VMath.euclideanLength(r);}
*
* The original Jama-package has been developed by * the MathWorks and * NIST * and can be found at * math.nist.gov. *
* Here, for the adaption some classes and methods convenient for data mining
* applications within ELKI were added.
* Furthermore some erroneous comments were corrected and the coding-style was
* subtly changed to a more Java-typical style.
*
* @opt hide ^java\.(io|lang)\..*
*/
/*
* This file is part of ELKI:
* Environment for Developing KDD-Applications Supported by Index-Structures
*
* Copyright (C) 2018
* ELKI Development Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see