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
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayAttributes Structure
    • ArrayMath Class
    • ArrayMutability Enumeration
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • CategoricalVector(T) Class
    • Complex(T) Structure
    • Constants Class
    • ConvergenceCriterion Enumeration
    • CoreImplementations(T) Class
    • DecimalMath Class
    • Dimension Enumeration
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DistributedDataLocation Enumeration
    • DoubleComparer Class
    • Elementary Class
    • ElementType(T) Class
    • FunctionMath Class
    • FunctionWithDerivative Delegate
    • GenericCoreProvider(T) Class
    • GenericImplementations Class
    • ICategoricalVector Interface
    • IDistributed Interface
    • InsufficientDataException Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • ISummarizable Interface
    • Iterators Class
    • IVector Interface
    • MachineConstants Class
    • ManagedCoreProviderOfSingle Class
    • Math(T) Class
    • Matrix Class
    • Matrix(T) Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixExtensions Class
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixStructure Enumeration
    • MatrixTriangle Enumeration
    • MutabilityBehaviour Enumeration
    • NumericsConfiguration Class
    • Operations(T) Class
    • Permutation Class
    • Quad Structure
    • RandomExtensions Class
    • Range Structure
    • RoundingMode Enumeration
    • SingleConstants Class
    • SinglePrecisionImplementations Class
    • Slice Structure
    • SolutionReport(T) Class
    • SolutionReport(T, TError) Class
    • Special Class
    • SummaryOptions Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • TypedVectorWrapper(K, T) Structure
    • Vector Class
    • Vector(T) Class
    • VectorExtensions Class
  • CoreImplementations(T) Class
    • Properties
    • Methods

CoreImplementationsT Class

Extreme Optimization Numerical Libraries for .NET Professional
Encapsulates the currently active core algorithms.
Inheritance Hierarchy

SystemObject
  Extreme.MathematicsCoreImplementationsT

Namespace:  Extreme.Mathematics
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
public static class CoreImplementations<T>
Public NotInheritable Class CoreImplementations(Of T)
generic<typename T>
public ref class CoreImplementations abstract sealed
[<AbstractClassAttribute>]
[<SealedAttribute>]
type CoreImplementations<'T> =  class end

Type Parameters

T

The CoreImplementationsT type exposes the following members.

Properties

  NameDescription
Public propertyStatic memberAutoLoadNativeProviders
Gets or sets a value that indicates whether native (processor specific) implementation providers should be loaded automatically.
Public propertyStatic memberDecompositions
Gets or sets the current implementation of matrix decompositions.
Public propertyStatic memberFft
Gets or sets the current FFT implementation.
Public propertyStatic memberLinearAlgebra
Gets or sets the current implementation of the Basic Linear Algebra Subroutines (BLAS) for real and complex values.
Public propertyStatic memberNativeProviderBaseName
Gets or sets the base name of the native provider assemblies.
Public propertyStatic memberNativeProviderBaseNameOfSingle
Gets or sets the base name of the single-precision native provider assemblies.
Public propertyStatic memberNativeProviderPath
Gets or sets the path where the assemblies that
Public propertyStatic memberRawLinearAlgebra
Gets or sets the current implementation of the Basic Linear Algebra Subroutines (BLAS) for the current element type.
Public propertyStatic memberSparseLinearAlgebraOperations
Gets or sets the current implementation of the sparse linear algebra routines.
Public propertyStatic memberVectorFunctions
Gets or sets the current implementation of array functions.
Top
Methods

  NameDescription
Public methodStatic memberUseFromAssembly
Instructs the library to use a custom BLAS implementation contained in a .NET assembly.
Public methodStatic memberUseHybrid
Instructs the library to use the managed implementations.
Public methodStatic memberUseManaged
Instructs the library to use the managed implementations.
Public methodStatic memberUseNative
Instructs the library to use the native BLAS implementation.
Public methodStatic memberUseProvider
Instructs the library to use the specified core provider.
Top
Remarks

Many calculations rely on a core set of algorithms. Optimized implementations exist for many platforms. The Extreme Optimization Mathematics Library for .NET provides at least two implementations. One is in 100% managed code. The other calls a native, highly optimized, processor-specific kernel based on Intel®'s Math Kernel Library®.

This class exposes properties that allow you to specify the implementations that are to be used by the other classes.

You can select the managed implementation by calling the UseManaged method. To select the native implementation, call the UseNative method. The native kernel is used by default. This is the fastest option, especially for larger matrices, but also has a larger memory footprint.

Alternatively, you can plug in platform optimized versions by inheriting from the implementation base classes, and calling UseProvider(CoreProviderT).

See Also

Reference

Extreme.Mathematics Namespace

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

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