- Improved DBSCAN implementation.
- Added linear algebra.
- Added DBSCAN.
- Added
GetFrameTime
method toStftInfo
. - Added
Copy
extension method toVec<T>
andMat<T>
. - Updated MatFlat to 0.8.2.
- Added logistic regression.
- Added support for
Range
.
- Added real FFT.
- Added NMF.
- The length of the result of the
Resample()
extension method now matches MATLAB's implementation. - Fixed a potential issue where temporary matrix allocation, which is internally used in the library, might fail.
- Added multiplicative update implementation for NMF.
- Fixed issue where resampling failed on long signal.
- Added
MultivariateDistribution.Generate()
method without args which usesRandom.Shared
. - Added resampling.
- Audio feature extraction supports complex spectrum.
- Added random sampling method for distributions.
- Some code cleanup.
- Added options for clustering algorithms.
- Added options for ICA.
- Some code cleanup.
- Fixed bug where SVD does not return if the matrix contains NaN values.
- Added ICA.
- Optimized vector value enumeration.
- Some code cleanup.
- Improved
Convolve
method performance for short signals. CsvFile
now supports writingVec<T>
to a file.- Avoid memory allocation in enumeration.
- Some code cleanup.
- Matrices can now be created using collection expressions.
- Added convolution.
- Added (weighted) sum for scalars, vectors, and matrices.
- Added filter bank audio feature extraction.
- Removed unnecessary code that handle native dependencies.
Determinant()
of matrix decomposition object for non-square matrices now throws an exception.
- Dropped native dependencies.
- Added
NumFlat.IO.CsvFile
class for CSV file IO.
- Added
NumFlat.IO
namespace for file IO. - Added
NumFlat.IO.WaveFile
class for wave file IO.
- Optimized k-means and GMM by omitting some calculations.
- GMM now behaves the same as sklearn's default GMM.
- Added STFT and ISTFT.
- Added
WindowFunctions
class.
- Moved
FourierTransform
class toSignalProcessing
namespace. - Added the methods for framing and overlap-add.
- Optimized Bhattacharyya distance.
- Now
UnsafeFastIndexer
for vectors can be used withforeach
.
- Now
MathLinq
supports weighted second order statistics for matrices. - Added the following extension methods.
double Skewness(this IEnumerable<double> xs, bool unbiased = true)
double Kurtosis(this IEnumerable<double> xs, bool unbiased = true)
- Now
MathLinq
supports weighted second order statistics for scalars (double
andComplex
).
- Now
MathLinq
supports second order statistics for scalars (double
andComplex
).
- Added GMM.
- Now
Gaussian
has a constructor that requiresIEnumerable<Vec<double>>
. - Added another overload of
Svd.Decompose()
that computes onlyS
andU
. - Now PCA uses SVD instead of EVD.
- Added k-means clustering.
- Added
MapInplace()
toVec<T>
andMat<T>
. - Added
Bhattacharyya()
toGaussian
. - Added
GetUnsafeFastIndexer()
toVec<T>
andMat<T>
.
- Added
FittingFailureException
to indicate model fitting failure. - Added
regularization
parameter toToGaussian()
. - Added pointwise scalar addition and subtraction for vectors and matrices.
- Added
Distance()
toVec<T>
. - Added
Mahalanobis()
toGaussian
.
- Added the Gaussian and diagonal Gaussian distributions.
- Optimized the Cholesky decomposition implementation.
- Added FFT.
- Improved error handling and error messages.
- Added
Mat<T>.InverseInplace()
. - Added PCA and LDA.
- Added the following in-place operations.
Vec<T>.ReverseInplace()
Vec<Complex>.ConjugateInplace()
Mat<T>.TransposeInplace()
Mat<Complex>.ConjugateInplace()
Mat<Complex>.ConjugateTransposeInplace()
- Matrix decomposition methods now support
Solve()
against matrices as a set of RHS vectors.
- Added the weighted version of
Mean
,Variance
,Covariance
,StandardDeviation
for vectors.
- Added the
Determinant
andLogDeterminant
methods to matrix decomposition objects. - Now
MathLinq
supportsMean
andVariance
for matrices. - Optimized
Covariance
by utilizing the symmetry of matrices. - Added the following norm-related methods to
Vec<T>
.Norm()
Norm(p)
L1Norm()
InfinityNorm()
Normalize()
Normalize(p)
- Added the following norm-related methods to
Mat<T>
.FrobeniusNorm()
L1Norm()
L2Norm()
InfinityNorm()
- Added in-place operations for vectors and matrices.
In-place operations have a method name with the suffixInplace
(NormalizeInplace
for example).
- Added the following builder methods.
Vec<T> VectorBuilder.Fill<T>(int count, T value)
Vec<T> VectorBuilder.FromFunc<T>(int count, Func<int, T> func)
Mat<T> MatrixBuilder.Fill<T>(int rowCount, int colCount, T value)
Mat<T> MatrixBuilder.FromFunc<T>(int rowCount, int colCount, Func<int, int, T> func)
- Added the
Variance
method toMathLinq
. - Added the generalized eigen value decomposition.
- Revised the doc comments and error messages.
- Added the eigen value decomposition.
- Revised the unit tests for better robustness.
- Revised the doc comments and error messages.
- Now the LU decomposition directly exposes L and U like the other decomposition methods.
- Revised the readme included in the NuGet package.
- This is the first release.