
Please consider implementing excel functions PPMT,IPMT,PMT,CUMIPMT,CUMPRINC
These are the financial functions used by banks. The applications using math.net will be more richer if it can have below functions PPMT,IPMT,PMT,CUMIPMT,CUMPRINC
4 votes 
To match and provide formulas for statistical and engineering capabilities as in Excel...
Can provide the calculation abilities of what excel inbuilt formula does as a part of framework This include formula related to statistical and engineering capabilities.
1 vote 
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 
Levinson Decomposition
Levinnson Decomposition (both symmetric and non symmetric) was available in dnAnalytics 0.2 and are highly popular in signal processing. (via alibeirami)
1 vote 
Add the "Periodic" to "SplineBoundaryCondition" on MathNet.Numerics.Interpolation
Currently, the condition Natural/ParaboricallyTerminated/FirstDerivative/SecondDerivative are on "SplineBoundaryCondition", but I'd like to add Periodic on it(I guess this is equivalent to "csape" on MATLAB).
1 vote 
3 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 
Add full multigrid solver (FMG) for boundary value problems, e.g. the Poisson equation.
Many simluation and some image processing tasks require solving differential equations, such as heat equation and linear elliptic equation (Poisson equation).
In case of 2D data (images), these become partial differential equations (PDEs).
These can be solved in linear time using multigrid preconditioner with some relaxation scheme (GaussSeidel, CG, biCG).
Some reference, including source code, can be found in Press et al.: "Numerical Recipes, 3rd edition".
1 vote 
67 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 
Add a FixedPoint Numeric Type
A fixedpoint numeric type is essential for deterministic calculations with fractional parts. This is essential for running accurate simulations across different machines with various CPUs, OSes, because the IEEE standard for floatingpoint math doesn't guarantee reproducibility across machines (http://stackoverflow.com/a/328651/154766).
Authors of realtime strategy games in .NET have typically come up with their own fixedpoint math class or found some workaround. There is no fixedpoint type in the BCL even though the documentation for System.Decimal at some point labeled it so, erroneously.
6 votes 
Optimized DenseLU solve
/// <summary>
/// Solves A*X=B for X using LU factorization.
/// </summary>
/// <param name="columnsOfB">The number of columns of B.</param>
/// <param name="a">The square matrix A.</param>
/// <param name="order">The order of the square matrix <paramref name="a"/>.</param>
/// <param name="b">On entry the B matrix; on exit the X matrix.</param>
/// <remarks>This is equivalent to the GETRF and GETRS LAPACK routines.</remarks>
public static unsafe void LUSolveUnsafe(int columnsOfB, double[] aIn, int order, double[] bIn)
{
#region Initialize
if (aIn == null)
throw new ArgumentNullException("a");
if (bIn == null)
throw new ArgumentNullException("b");int i;
int j;
int k;double* a = stackalloc double[aIn.Length];
double*…6 votes 
3 votes
We do some computations in parallel, however, in practice parallel execution is often not very efficient (other than e.g. concurrent execution at application level). However, we should review places where parallelization would be interesting for v3

Solve a system of nonlinear equations
aka fsolve of matlab
33 votes 
11 votes

Histogram constructor with buckets. Data is applied to the buckets.
I need to create a histogram with buckets from another histogram and expect my data to be counted relative to those buckets.
2 votes 
7 votes
spike in a fork

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 
Collection.product
/// <summary>
/// Returns the cartesian product of the two collections <c>c1</c>
/// and <c>c2</c>.
/// </summary>
/// <param name="c1">Should not be null.</param>
/// <param name="c2">Should not be null.</param>
public static ICollection Product(ICollection c1, ICollection c2)
{
if(c1 == null)
{
throw new ArgumentNullException("c1", string.Format(Resources.ArgumentNull, "c1"));
}if(c2 == null)
{
throw new ArgumentNullException("c2", string.Format(Resources.ArgumentNull, "c2"));
}return null;
}1 vote 
174 votes
 Don't see your idea?