77 results found
-
105 votes
-
Provide principle component analysis
Extend the linear algebra part with PCA using either Singular Value Decomposition or Eigenvalue Decomposition. Easy implementation, great value!
72 votes -
Add methods for linear and quadratic programming
Linear and quadratic programming methods are great techniques for minimization problems. Other, more complicated methodologies - such as MPC - can built on top of them fairly easily.
68 votes -
67 votes
-
implement a machine learning library
For modern datascience we need machine learning. Hence for .NET a modern machine learning library would be very welcome, especially one with a good F# interface. It should contain the most used standard algorithms & models like
- clustering: k-means, spectral clustering, kernel k-means, gaussian mixture, ...
- classification & regression: (regularized) generalized linear models , neural networks (classic & deep learning), kernel models (SVM, kernel logistic regression,...), probabilistic (max likelihood) & Bayesian methods/graphical models/gaussian processes, decision trees & random forests,...
- ensemble methods (bagging, boosting,...)
- dim reduction (SVD, kernel SVD, manifold learning, sparse representations (L1 regularization),...)
- probabilistic programming (cf. infer.NET) ?
- ...
…
60 votes -
Add support for surface interpolation (2D, mesh)
Extend the interpolation methods to support 2D surface interpolation, i.e. on a mesh. See http://community.opensourcedotnet.info/forums/t/565.aspx
48 votes -
Add Rotation Matrix and Vector classes for 2D, 3D and generic sized spaces
2D and 3D calculations could benefit from optimized functions for Rotation Matrices, 2D and 3D vectors, Solving for Transformation or Rotation Matrices, using Quaternions, and more.
45 votes -
Solve a system of nonlinear equations
aka fsolve of matlab
33 votes -
Add row echelon and reduced row echelon form computation
Computing reduced row echelon and row echelon form of a Matrix could be used with Gaussian and Gauss-Jordan elimination techniques.
32 votes -
Investigate Mono.Simd
The upcoming Mono.Simd assembly is nearing release. Using these functions in certain areas could give massive performance gains.
28 votes -
24 votes
-
Performance increase using structs instead of classes?
Hi,
First, congratulations for this ongoing work! I came to Math.Net after attempting to create my own libraries, so here is an idea which my be of a help.The idea would be to use Structs to define matrices instead of Classes to improve performance.
As mentioned above, I did a check with a homemade matrix class and another one being a matrix struct, and for matrices up to 5000X5000 structs are circa 10 times faster for matrix multiplication.
I compared Math.Net with MKL against matlab and it appears to be circa 2 times slower for such matrix sizes. This…
21 votes -
Add stochastic processes
Almost all modern financial analysis are built around stochastic processes. There are many processes, some general like time series and some more specific. It would be very useful for people working in the finance field.
20 votes -
VSLab
I think this is a great project. I am suggesting your library for VSLab (http://www.codeplex.com/vslab). I think that an F# wrapper would be great. Are you interested in contribute with your math library in creating a Matlab like environment? Have a look to the project!
19 votes -
Add support for cuda
Is this possible to split the matrix multiplication algorithms to use processor and gpgpu all at the same time?
It would be an amazing feature to be added.
19 votes -
12 votes
-
Implement 2D FFT
Extend the FFT class to allow for 2d array. Use MKL to accelerate this.
11 votes -
11 votes
-
10 votes
-
Add an FFTSHIFT and iFFTSHIFT on a matrix similar to MATLAB
Add an FFTSHIFT and iFFTSHIFT on a matrix similar to MATLAB
9 votes
- Don't see your idea?