Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries 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
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
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 Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference

Skip Navigation LinksHome»Documentation»Vector and Matrix Library User's Guide

Vector and Matrix Library User's Guide

Extreme Optimization Numerical Libraries for .NET Professional

The Extreme Optimization Numerical Libraries for .NET contain an extensive set of classes for vector and matrix calculations. All classes are generic over the element type, which can be real or complex. Several specialized matrix and vector types are available, including sparse vectors and matrices.

Two classes, Vector and Matrix, provide static methods to create vectors and matrices, respectively, and perform operations on them. The VectorT and MatrixT classes represent actual vector and matrix objects. The generic type parameter defines the element type, which can be anything, including complex numbers (ComplexT). Calculations are supported as long as the element type supports the required operations.

The code uses the Basic Linear Algebra Subroutines (BLAS) at its core. Several implementations are provided. One is generic, written in 100% managed code, and works for all element types that define the relevant operations. One is still pure managed code, but specialized for elements of type Double and ComplexT of Double. and is suitable for smaller problems and in situations where portability is of the essence. The third implementation is a hand-optimized native implementation based on Intel®'s Math Kernel Library. This implementation is suitable for large problems where performance is crucial.

The classes in the Vector and Matrix Library are organized in a consistent namespace hierarchy rooted in the Extreme.Mathematics.LinearAlgebra namespace. The structure of the namespaces is as follows:

Namespace

Description

Extreme.Mathematics

Contains the static Vector and Matrix classes, the generic VectorT and MatrixT classes, enumeration types and exceptions.

Extreme.Mathematics.LinearAlgebra

Contains specialized vector and matrix types, types that represent matrix decompositions, and some support classes.

Extreme.Mathematics.LinearAlgebra

Contains specialized vector and matrix types, types that represent matrix decompositions, and some support classes.

Extreme.Mathematics.LinearAlgebra.IterativeSolvers

Contains classes that implement iterative sparse solvers and preconditioners.

Extreme.Mathematics.LinearAlgebra.Implementation

Contains classes that define and implement the low level BLAS and LAPACK interfaces.

Copyright (c) 2004-2023 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2023, 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.