Dew.Math
6.2.3
dotnet add package Dew.Math --version 6.2.3
NuGet\Install-Package Dew.Math -Version 6.2.3
<PackageReference Include="Dew.Math" Version="6.2.3" />
paket add Dew.Math --version 6.2.3
#r "nuget: Dew.Math, 6.2.3"
// Install Dew.Math as a Cake Addin #addin nuget:?package=Dew.Math&version=6.2.3 // Install Dew.Math as a Cake Tool #tool nuget:?package=Dew.Math&version=6.2.3
High performance math Library for .NET Framework, .NET Core and .NET Core Winforms
Multicore math engine for science and engineering. Dew Math Library is an object oriented math library for C# and .NET developers that offers a wide set of matrix and vector math operations. The library provides a broad set of vectorized numeric functions which include sparse matrices, complex numbers, probabilities, expression parser, optimization unit, SVD, QR, LQ, and LU solvers and special functions. Key features:
- Full hardware acceleration for Windows (32 and 64bit) and for Linux OS (64bit). Runs with Intel AVX, AVX2 and AVX512 optimized codepaths, chosing the best codepath depending on the underlying hardware.
- Typical performance gain over .NET Core native code is 10x.
- With .NET Core use common source to compile your applications for Windows, Mac OS, iOS / iPhone, Android and Linux. The full source version is called MtxVec Core Edition
- Supports .NET framework v2.0-4.8 and .NET Core 5 and 6 (version 2022) and 7 and 8 (version 2024).
- Support for 64bit native mode execution.
- Optimized Linear Algebra Package (LAPACK v3.7) numerical library
- Extensive XMLDoc based tooltips for .NET Core projects.
- Vectorized Math expression parser and evaluator
- Various optimization and fitting algorithms allow solution to a large set of problems. Simplex (Nelder-Mead), Marquardt with numerical derivates, Dual Simplex, Two-phase Simplex, BFGS, Conjugate Gradient, Gomory's Cutting Plane, Brent, Linear optimization, Trust Region.
- GPU support via OpenCL. Comprehensive implementation of the OpenCL API in object structure. Includes over 2000 GPU kernels.
- Sparse matrices, Direct Solvers (UMFPack and Pardiso), CG Iterative Solvers. Eigenvalues of symmetric matrices, solvers for banded matrices.
- Random Generators for over 18 distributions.
- Roots of the polynomial, coefficients of the polynomial, Poly evaluations, fitting, splines, piecewise polynomials, polynomial division and multiplication.
- Numerical integration by MonteCarlo, QuadGauss, Romberg methods.
- Special functions Airy, Biry, Besh, .... Elliptic integrals and Legendre Polynomials.
- Toeplitz matrix solvers. (Levinson Durbin).
- Cumulative distribution functions (CDF) and probability density functions (PDF) with probability statistics for over 30 probability distributions.
- Specialized super-conductive memory allocation allows 100% thread concurrency for arbitrary thread count outperforming garbage collector.
- Allows runtime selection of algorithm precision (single or double)
- 100% of the .NET source code written in C#
- Optional separate assembly for additional charting features is available for Steema TeeChart.NET
Advanced memory management designed for multi-threading
- Implements .NET Core principles since year 2006 (memory views/spans/sub-arrays)
- Vectors and Matrices feature "Capacity" property to reduce memory allocation count
- Object-cache allows concurrent Vector/Matrix allocation without putting pressure on the garbage collector and implements fully parallel memory manager (one memory-pool per thread).
- Subranges (Spans/Sub-arrays) allow "nested" memory partitioning on the same vector/matrix object.
- Does not allocate memory internally except in very rare cases.
Examples
Documentation
Visual Studio support
- Version 2022 supports Visual Studio 2022 up to 17.6 (excluding)
- Version 2024 supports Visual Studio 2022 17.6 forward.
IMPORTANT
When installing for .NET Core based projects, the packages will just work. For .NET Framework based projects, please copy content of:
.\YourSolution\Packages\Dew.Math.x.y.z\runtimes
to corresponding folders:
C:\Windows\System32 for x64 bit
C:\Windows\SysWOW64 for x32 bit
Failure to do so, will give an error when trying to run the application:
The type initializer for 'Dew.Math.Units.MtxVec' threw an exception.
or in German:
Der Typeinitialisierer für "Dew.Math.Units.MtxVec" hat eine Ausnahme Verursacht.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows7.0 is compatible. |
.NET Framework | net20 is compatible. net35 was computed. net40 was computed. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 2.0
- Steema.TeeChart.NET (>= 4.2024.3.15)
-
net7.0
- No dependencies.
-
net7.0-windows7.0
- Steema.TeeChart.NET (>= 4.2024.3.15)
-
net8.0
- No dependencies.
-
net8.0-windows7.0
- Steema.TeeChart.NET (>= 4.2024.3.15)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Dew.Math:
Package | Downloads |
---|---|
Dew.Signal
The digital signal processing library built on top of Dew Math Library features a wide range of performance optimized algorithms: IIR filters. Design of analog or discrete Butterworth, ChebyshevI, ChebyshevII, Elliptic and Bessel filters. Order estimation includes all filter types: lowpass, highpass, bandpass and bandstop. Bilinear and Matched Z transform, group delay, frequency transformations in S or Z domain, in zero-pole or state-space form. FIR Filters. Design of FIR filters with window method or with Remez exchange algorithm. Order estimation of FIR filters. Design of Hilbert transformers, differentiators and also integrators. Savitzky-Golay filtering, fast envelope detector. Multi-rate multi-stage half-band FIR filtering support includes: zoom-spectrum component, decimate and interpolate components and a high quality envelope detector. Non-linear filters. Sample-and-hold, sample-and-decay and median filter. Spectral analysis. State-of-the-art spectrum analyzer component with ready to use component editor covering: FFT, CZT, Yule-Walker, Burg, Covariance and Modified Covariance spectral estimation, RMS of specified frequency bands, a set of peak interpolation algorithms, a large set of window functions including: Bartlett, Blackman, Chebyshev, CosineTapered, FlatTop, Hamming, Hanning and Kaiser window; sophisticated peak selection and peak tracking methods, phase-unwrapping algorithm, dedicated components for bispectrum, bicoherence, coherence and transfer function estimation with real-time capability. Also real cepstrum, complex cepstrum and inverse complex cepstrum. Spectral statistics: Noise floor, SFDR, THD, THDN, SINAD, RMS, SNR... Linear systems. Find zeros of a linear system, convert between state-space, zero-pole and numerator-denominator forms of the transfer function. Noise generators. Include white, pink, brownian, blue and violate noise next to the standard triangular, square and multi-tone signals. Fast rate conversion algorithms support conversion by any real number factor. The quality of the linear phase filtering allows 160dB noise attenuation. The speed of conversion is exceptionally high. Signal modulation/demodulation algorithms covering: zoom-spectrum, signal (amplitude) modulator/demodulator, high speed linear phase narrow bandpass filtering, envelope detection and standard decimation/interpolation logic High quality spectrogram/periodogram with a wide selection of processing and visualization options. Signal forecasting with spectral analysis. Only user specified spectral peaks are used to generate the forecasted time series providing a very simple but efficient method. Signal generator component with ready to use component editor offers stack-based vectorized function evaluation with many built-in functions. Audio recording and playback components with monitor function and extensive support for triggers. Ready to use component editor for filtering component covers design of nearly all included filters. Components for streaming (read/write) different file formats. Optional Steema TeeChart.NET support available via separate assembly includes: two new TChart components to allow visual connection of the signal processing pipes to charts, two new TChartSeries for faster drawing and 3 additional TeeTools components to help with peak marking and axis scaling. Together with Dew Math Library the following functions/operations are provided: frequency response of analog and discrete filters, fast 1D and 2D convolution, fast auto-correlation and cross-correlation, deconvolution, 1D and 2D filtering, zero phase IIR filtering, interpolated FIR filters, DCT and inverse DCT, Geortzel algorithm and forward and inverse FFT for all combinations of real/complex source and destination, random number generators and more... |
|
Dew.Stats
Statistical library built on top of Dew Math Library includes among other features: Different probability distributions (PDF, CDF and inverse CDF for 36 distributions), random number generators, parameter estimate. Descriptive statistics. Histograms, ogives, cumulative sum, nth moments, percentile, range, IQR, mean, median, mode, ranks and more. Multivariate Analysis. PCA by using covariance/correlation matrix, PCA residuals, orthogonal rotation of ZScores, Bartlett test for dimensionality and Z-Scores; Classical Multidimensional Scaling, Hotelling T2 test, M-Box test, Item Analysis. Design of Experiment. Full Factorial Design, Latin HyperCube design, ... Hypothesis testing. Sign test, Wilcoxon Signed Rank test, one-sample t-test, two-sample paired/unpaired t-test, Z-Test, Chi-Squared test, F-Test, Shapiro-Wilks test, Chi-Squared Goodness of Fit test and Shapiro-Francia test; Berra-Jarque, Anderson-Darling, Kolmogorov-Smirnov test, Mann-Whitney U test, LillioeFors Goodness of Fit test, ... Regression models. Linear (weighted, unweighted), Multiple linear (weighted, unweighted), Logistic regression, Ridge regression, Poisson regression, General non-linear regression (using the BFGS, Marquardt, Conjugate gradient or Simplex method), one-way and two-way ANOVA, Principal Component Regression. Statistical charts. Optional with separate assembly depending on Steema TeeChart.NET: Probabilities plot (Normal, Weibull, QQ), variable control charts ( X, R, S and EWMA), attribute control charts (P, NP, U and C), dot plot, box plot, biplot, error ellipses PLUS all major statistical chart types, supported by Steema's TeeChart (error, barr, error bar, pie, box, scatter, scatter 3D, histogram, Pareto and more). Time series analysis. Sample ACF, PACF, exponential smoothing (single, double, triple), support for ARMA/ARIMA models (simulating, forecasting, estimating coefficients by using Yule-Walker, Burg, Innovations and MLE algorithms), ARAR time series model, moving average, memory-shortening filter, Box-Ljung statistics, etc.. Ready-to-use components. TMtxANOVA (encapsulates ANOVA routines), TMtxMulLinReg (encapsulates multiple linear regression routines), TMtxNonLinReg (encapsulates nonlinear regression routines), TMtxPCA (encapsulates PCA routines), TMtxHypothesisTest (encapsulates hypothesis testing routines), TMtxBinaryTest (encapsulates binary diagonstic test routines), TMtxMDScaling (encapsulates multimensional scaling routines). |
|
Dew.Lab.Studio
High-performance vectorized numerical math library designed to speed up customer code typically by 10x by using also AVX512. Covering multiple areas, Linear Algebra (BLAS and LAPACK), Optimization Methods (Simplex, Marquardt,..), Vectorized math formula evaluator (Matlab/Scilab script), Sparse Matrices (Pardiso, Umfpack, eig-solvers..), Probability distributions, Random number generators, Special (Bessel) functions. Use .NET70 for cross-platform capability. |
GitHub repositories
This package is not used by any popular GitHub repositories.