Documentation API of the 'org.jscience.mathematics.vector.Matrix' Java class
Matrix
org.jscience.mathematics.vector

Class Matrix<F extends Field<F>>

  • All Implemented Interfaces:
    javolution.lang.Immutable, javolution.lang.Realtime, javolution.lang.ValueType, GroupAdditive<Matrix<F>>, Ring<Matrix<F>>, Structure<Matrix<F>>, VectorSpace<Matrix<F>,F>
    Direct Known Subclasses:
    ComplexMatrix, DenseMatrix, Float64Matrix, SparseMatrix


    public abstract class Matrix<F extends Field<F>>extends Objectimplements VectorSpace<Matrix<F>,F>, Ring<Matrix<F>>, javolution.lang.ValueType, javolution.lang.Realtime

    This class represents a rectangular table of elements of a ring-like algebraic structure.

    Instances of this class can be used to resolve system of linear equations involving any kind of Field elements (e.g. Real, Complex, Amount<?>, Function, etc). For example:

            // Creates a dense matrix (2x2) of Rational numbers.        DenseMatrix<Rational> M = DenseMatrix.valueOf(            { Rational.valueOf(23, 45), Rational.valueOf(33, 75) },            { Rational.valueOf(15, 31), Rational.valueOf(-20, 45)});                    // Creates a sparse matrix (16x2) of Real numbers.        SparseMatrix<Real> M = SparseMatrix.valueOf(            SparseVector.valueOf(16, Real.ZERO, 0, Real.valueOf(5)),            SparseVector.valueOf(16, Real.ZERO, 15, Real.valueOf(-3)));                    // Creates a floating-point (64 bits) matrix (3x2).        Float64Matrix M = Float64Matrix.valueOf(           {{ 1.0, 2.0, 3.0}, { 4.0, 5.0, 6.0}});                    // Creates a complex single column matrix (1x2).        ComplexMatrix M = ComplexMatrix.valueOf(           {{ Complex.valueOf(1.0, 2.0), Complex.valueOf(4.0, 5.0)}}).transpose();                    // Creates an identity matrix (2x2) for modulo integer.        SparseMatrix<ModuloInteger> IDENTITY = SparseMatrix.valueOf(           DenseVector.valueOf(ModuloInteger.ONE, ModuloInteger.ONE), ModuloInteger.ZERO);     

    Non-commutative field multiplication is supported. Invertible square matrices may form a non-commutative field (also called a division ring). In which case this class may be used to resolve system of linear equations with matrix coefficients.

    Implementation Note: Matrices may use StackContext and ConcurrentContext in order to minimize heap allocation and accelerate calculations on multi-core systems.

    See Also:
    Wikipedia: Matrix (mathematics)

Warning: You cannot see the full API documentation of this class since the access to the DatMelt documentation for third-party Java classes is denied. Guests can only view jhplot Java API. To view the complete description of this class and its methods, please request the full DataMelt membership.

If you are already a full member, please login to the DataMelt member area before visiting this documentation.