Math.NET Numerics
Welcome to our official feedback forum. Do you have an idea? Do you recognize a good idea when you see one? We want to hear from you!

Implement finding extrema for cubic splines
I wanted to find extrema for a spline and had to implement it by myself, using the CubicSpline.cs of MathNet.Numerics. Unfortunately the Class is constructes thus, that I could not access the spline parameters which would have allowed my to simply write an extension method.
I propose the following addition to the class "CubicSpline":
public enum eExtremePointType
{
Minimum, Maximum
}public class cExtremePointResult
{
public eExtremePointType Type { get; private set; }
public double x { get; private set; }
public double y [get;private set;}public cExtremePointResult(double in_x, double in_y, eExtremePointType in_type)
{
x=in_x;
y=in_y;
Type=in_type;
}
}///…
3 votes 
Fix a dimensionality bug in the SparseMatrix solve method
I am using the solve method on a DenseMatrix and two vectors. When I try to use the same method but with a SparseMatrix, I get a dimensionality error saying that all vectors must be the same dimensions.
I believe the method asserts that the input vector is of the same length as the matrix's number of columns, and probably should check against the matrix's number of rows.
2 votes 
Implement the Gumbel ContinuousDistribution
Implement the Gumbel ContinuousDistribution
2 votes 
Provide extremal values for interpolated splines
Provide extremal points and values and thus also min/max for interpolated splines.
2 votes 
Add interchange/swap function to Matrix class
Add interchange/swap function to Matrix class which would allow swapping two rows or columns in the matrix (i.e. m.swapRows(2,3)).
2 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 
Add trigonometrical functions for degrees
For most cases it can be overcome with multiplying pi/180 and using loops, but it would make code simpler. Coming from Octave/Matlab it is something I am used to have
2 votes 
AddSubMatrix
For FEM analysis the AddMatrix method is very useful. In opposite to SetMatrix this method summarize elements.
2 votes 
Geometric Problems  Like Adjacent Points
Where's the namespace for geometric problems?
2 votes 
Improving sparse matrix storage CRS by allowing the user to provide the sparsity structure of the matrix.
I'm new to math.net, but I've found some issues with the libraries.
One of these is related to sparsematrix and sparsecompressedrowstorage
I've also wrote a post within the discussion forum, but I've recieved no response.
The problem is simple: I've tried desperately to find a way to assign directly the sparse matrix in CRS format, but I've failed.
It seems that the CSR must be constructed starting from an already existing matrix. This would imply a big performace issue and memory allocation problems.
For istance, if one want to write a program to solve some physical problem with finite element…1 vote 
Implement SetSubMatrix(int[] rowIndices, int[] columnIndices, Matrix<T> subMatrix)
Implement method:
Matrix<T>.SetSubMatrix(int[] rowIndices, int[] columnIndices, Matrix<T> subMatrix)
where
int[] rowIndices
The row indices to copy to.int[] columnIndices
The column indices to copy to.Matrix<T> subMatrix
The submatrix to copy from.This would enable us to set a larger number of entries at the same time.
1 vote 
Fix splines so that they can handle general lines
When adding the points of a circle ( Cos(t), sin(t) ) for t the values [0,6.28], I get complete garbage out.
It seems that the splines are unable to handle ambiguous values for y for a given x.
Splines should have a independent variable t, on which x and y depend. It seems this implementation has a t that somehow is coupled to x.
Interpolate should for example return a point, and the differentiate should return a vector for a given point.1 vote 
Quasi Random Number Generation
Otherwise known as low discrepancy sequences:
https://en.m.wikipedia.org/wiki/Lowdiscrepancy_sequence1 vote 
Dense and sparse matrix slicing based on input user defined indices
This should allow functionality similar to MATLAB:
Suppose that A is the following matrixA = [ 10 20 30 40 ;
11 21 31 41;
12 22 32 42;
13 23 33 43]and I = { 1, 2, 4 } and J = { 3, 4 }
A_IJ = A[I, J]
should return a slice of the matrix according to the indices specified:
A_IJ = [ 30 40;
31 41;
33 43 ]The same idea is very useful for arrays and it should work in both directions, for example:
A[I, J] += some_3by2_matrix;
The same for sparse…
1 vote 
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 
1 vote

1 vote

Implement Laplace transforms
convert laplace space functions to time domain and viceversa
1 vote 
1 vote

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
 Don't see your idea?