Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Deployment Guide
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics Namespace
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayMath Class
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • ComplexMatrix Class
    • ComplexVector Class
    • Constants Class
    • ConvergenceCriterion Enumeration
    • DecimalMath Class
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DoubleComparer Class
    • DoubleComplex Structure
    • Elementary Class
    • EquationSolving Class
    • FunctionMath Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • MachineConstants Class
    • Matrix Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixTriangle Enumeration
    • NumericalDifferentiation Class
    • NumericalIntegration Class
    • Permutation Class
    • RoundingMode Enumeration
    • SingleComparer Class
    • SingleComplex Structure
    • SingleComplexMatrix Class
    • SingleComplexVector Class
    • SingleInterval Structure
    • SingleMatrix Class
    • SingleMatrixFiller Delegate
    • SingleVector Class
    • SingleVectorFiller Delegate
    • SolutionReport(T) Class
    • Special Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • Vector Class
  • Matrix Class
    • Members
    • Constructors
    • Methods
    • Operators
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




Matrix Class

Members See Also 
Contains methods that perform operations on matrices.
Represents a matrix, a two-dimensional array of real numbers.

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
                      public abstract class Matrix : LinearOperator, 
	IFormattable, IEquatable<Matrix>, IShape2D, IStructuralEquatable
Visual Basic (Declaration)
                      Public MustInherit Class Matrix _
	Inherits LinearOperator _
	Implements IFormattable, IEquatable(Of Matrix),  _
	IShape2D, IStructuralEquatable
Visual C++
                      public ref class Matrix abstract : public LinearOperator, 
	IFormattable, IEquatable<Matrix^>, IShape2D, IStructuralEquatable
F#
[<AbstractClassAttribute>]
type Matrix =  
    class
        inherit LinearOperator
        interface IFormattable
        interface IEquatable<Matrix>
        interface IShape2D
        interface IStructuralEquatable
    end

Remarks

Matrix is the abstractMustInheritabstractabstract (MustInherit in Visual Basic) base class for representing real matrices, two-dimensional arrays of double-precision floating-point numbers. An application can perform operations on matrices using instances of the Matrix class, while descendant classes implement specialized algorithms for specific types of matrices.

The Matrix class provides methods and properties for all the common operations on matrices, including arithmetic operations, calculating norms and solving systems of simultaneous linear equations. Various methods allow you to access individual components as well as rows and columns and submatrices.

Since Matrix is an abstractMustInheritabstractabstract (MustInherit in Visual Basic) base class and cannot be instantiated directly. Instead, use one of its derived classes. These are:

ClassDescription
DenseMatrixRepresents a general, dense, square or rectangular matrix.
TriangularMatrixRepresents an upper or lower-triangular matrix, a matrix whose elements below or above the main diagonal are zero.
SymmetricMatrixRepresents a square matrix whose elements are symmetrical around the main diagonal.

Note that the specialized classes exploit certain structural properties to perform many calculations more quickly than the general algorithms implemented by Matrix.

Matrix provides an indexer property. For convenient access to the rows or columns of a Matrix or parts thereof, use the GetRow(Int32) and GetColumn(Int32) methods.

Overloaded versions of the major arithmetic operators are provided for languages that support them. For languages that don't support operator overloading, equivalent staticSharedstaticstatic (Shared in Visual Basic) methods are supplied.

Many matrix decompositions exist, serving a variety of purposes. Each of them has its own class. In this release the LU decomposition and the QR decomposition are supported. For positive-definite symmetric matrices, the CholeskyDecomposition is available.

Inheritance Hierarchy

System..::..Object
  Extreme.Mathematics.LinearAlgebra..::..LinearOperator
    Extreme.Mathematics..::..Matrix
      Extreme.Mathematics.LinearAlgebra..::..BandMatrix
      Extreme.Mathematics.LinearAlgebra..::..ConstantMatrix
      Extreme.Mathematics.LinearAlgebra..::..DenseMatrix
      Extreme.Mathematics.LinearAlgebra..::..DiagonalMatrix
      Extreme.Mathematics.LinearAlgebra..::..MatrixView
      Extreme.Mathematics.LinearAlgebra..::..PermutationMatrix
      Extreme.Mathematics.LinearAlgebra..::..SparseMatrix
      Extreme.Mathematics.LinearAlgebra..::..SymmetricMatrix
      Extreme.Mathematics.LinearAlgebra..::..TriangularMatrix

See Also

Matrix Members
Extreme.Mathematics Namespace
Extreme.Mathematics.LinearAlgebra..::..LUDecomposition
Extreme.Mathematics.LinearAlgebra..::..QRDecomposition
Extreme.Mathematics..::..Vector

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.