Numerical Components for .NET
Namespace: Extreme.Mathematics.LinearAlgebraAssembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)
public class Kernel : ProviderManager<LinearAlgebraProvider, ManagedLinearAlgebraProvider>
Public Class Kernel _ Inherits ProviderManager(Of LinearAlgebraProvider, ManagedLinearAlgebraProvider)
public ref class Kernel : public ProviderManager<LinearAlgebraProvider^, ManagedLinearAlgebraProvider^>
type Kernel = class inherit ProviderManager<LinearAlgebraProvider, ManagedLinearAlgebraProvider> end
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 static 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.
Alternatively, you can plug in platform optimized versions by inheriting from the BlasLevel1, BlasLevel2, and BlasLevel3 abstract base classes. You can then supply an instance of your class or classes as parameters to the [!:UseCustom] method.
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.