CoreImplementations<T> Class

Encapsulates the currently active core algorithms.

Definition

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
public static class CoreImplementations<T>
Inheritance
Object  →  CoreImplementations<T>

Type Parameters

T

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(CoreProvider<T>).

Properties

AutoLoadNativeProviders Gets or sets a value that indicates whether native (processor specific) implementation providers should be loaded automatically.
Decompositions Gets or sets the current implementation of matrix decompositions.
Fft Gets or sets the current FFT implementation.
LinearAlgebra Gets or sets the current implementation of the Basic Linear Algebra Subroutines (BLAS) for real and complex values.
NativeProviderBaseName Gets or sets the base name of the native provider assemblies.
NativeProviderBaseNameOfSingle Gets or sets the base name of the single-precision native provider assemblies.
NativeProviderPath Gets or sets the path where the assemblies that
RawLinearAlgebra Gets or sets the current implementation of the Basic Linear Algebra Subroutines (BLAS) for the current element type.
SparseLinearAlgebraOperations Gets or sets the current implementation of the sparse linear algebra routines.
VectorFunctions Gets or sets the current implementation of array functions.

Methods

UseFromAssembly Instructs the library to use a custom BLAS implementation contained in a .NET assembly.
UseHybrid Instructs the library to use the managed implementations.
UseManaged Instructs the library to use the managed implementations.
UseNative Instructs the library to use the native BLAS implementation.
UseProvider Instructs the library to use the specified core provider.

See Also