GenericCoreProvider<T> Class

Represents a managed provider for the core linear algebra and FFT functionality for an element type.

Definition

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Generic (in Extreme.Numerics.Generic.dll) Version: 8.1.4
C#
public class GenericCoreProvider<T> : CoreProvider<T>, 
	IParallelized
Inheritance
Object  →  ImplementationProvider  →  CoreProvider<T>  →  GenericCoreProvider<T>
Implements
IParallelized

Type Parameters

T

Remarks

The classes in the Extreme.Mathematics.LinearAlgebra namespace use the standard Basic Linear Algebra Subroutines (BLAS) whenever possible. The Extreme Optimization Mathematics Library for .NET provides two implementations. One is in 100% managed code. The other calls a native, highly optimized, processor-specific kernel.

This class exposes properties that allow you to specify the BLAS objects that are to be used by the classes in this namespace.

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.

Constructors

Properties

ArrayFunctions Gets or sets the current implementation of array functions for double-precision arguments.
(Overrides CoreProvider<T>.ArrayFunctions)
ComplexArrayFunctions Gets or sets the current implementation of array functions for double-precision arguments.
(Overrides CoreProvider<T>.ComplexArrayFunctions)
DecompositionOperations Gets the LAPACK implementation for T-precision arguments.
(Overrides CoreProvider<T>.DecompositionOperations)
Fft Gets or sets the current FFT provider implementation for T-precision arguments.
(Overrides CoreProvider<T>.Fft)
HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
(Overrides CoreProvider<T>.HasSharedDegreeOfParallelism)
LinearAlgebraOperations Gets the implementation of the BLAS for T-precision arguments.
(Overrides CoreProvider<T>.LinearAlgebraOperations)
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from CoreProvider<T>)
ParallelOptions Gets an object that specifies how the calculations should be parallelized.
(Inherited from CoreProvider<T>)
SparseLinearAlgebra Gets the implementation of the sparse BLAS for T-precision arguments.
(Overrides CoreProvider<T>.SparseLinearAlgebra)

Methods

Add Adds the specified implementation to the provider's collection of implementations.
(Inherited from ImplementationProvider)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetAllImplementations<U> Returns a sequence of all implementations of the specified type supported by the provider.
(Overrides ImplementationProvider.GetAllImplementations<T>())
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetImplementation<T> Returns an implementation of the specified type.
(Inherited from ImplementationProvider)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
ToStringReturns a string that represents the current object.
(Inherited from Object)
WithMaxDegreeOfParallelism Returns a provider with the specified maximum degree of parallelism.

See Also