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!

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the “My feedback” filter and select “My open ideas”.
(thinking…)
Reset

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
    1. implement vector "shifting"

      because I'm working with time series, I find that I am often getting rid of the first element of my vector, and adding a new element at the end.
      To do so I write a loop to iterate through the vector.
      I assume my way of doing this is relatively slow, and it would be much faster if it was a native method.

      1 vote
      Vote 0 votes Vote Vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        I agree to the terms of service

        You'll receive a confirmation email with a link to create a password (optional).

        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • 0 votes
        Vote 0 votes Vote Vote
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          I agree to the terms of service

          You'll receive a confirmation email with a link to create a password (optional).

          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Clone

          Override .Clone for the various matrix storage classes. Right now it's in the generic class and calls .At a zillion times instead of just doing an array block copy.

          1 vote
          Vote 0 votes Vote Vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            I agree to the terms of service

            You'll receive a confirmation email with a link to create a password (optional).

            Signed in as (Sign out)
            You have left! (?) (thinking…)
            planned  ·  Christoph RüeggAdminChristoph Rüegg (Admin, Math.NET) responded

            Confirmed, managed dense matrix implementations are missing a proper override of CopyTo (some other implementations already do override it). Needs a github ticket.

          • 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.

            3 votes
            Vote 0 votes Vote Vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              I agree to the terms of service

              You'll receive a confirmation email with a link to create a password (optional).

              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • 3 votes
              Vote 0 votes Vote Vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                I agree to the terms of service

                You'll receive a confirmation email with a link to create a password (optional).

                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • 0 votes
                Vote 0 votes Vote Vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  I agree to the terms of service

                  You'll receive a confirmation email with a link to create a password (optional).

                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • 2 votes
                  Vote 0 votes Vote Vote
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    I agree to the terms of service

                    You'll receive a confirmation email with a link to create a password (optional).

                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • 1 vote
                    Vote 0 votes Vote Vote
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      I agree to the terms of service

                      You'll receive a confirmation email with a link to create a password (optional).

                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      under review  ·  1 comment  ·  Admin →
                    • 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
                      Vote 0 votes Vote Vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        I agree to the terms of service

                        You'll receive a confirmation email with a link to create a password (optional).

                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        under review  ·  0 comments  ·  Admin →
                      • 3 votes
                        Vote 0 votes Vote Vote
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          I agree to the terms of service

                          You'll receive a confirmation email with a link to create a password (optional).

                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • 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
                          Vote 0 votes Vote Vote
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            I agree to the terms of service

                            You'll receive a confirmation email with a link to create a password (optional).

                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • 3 votes
                            Vote 0 votes Vote Vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              I agree to the terms of service

                              You'll receive a confirmation email with a link to create a password (optional).

                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • Add primality test

                              Add a fast primality test, for example based on Miller-Rabin or similar efficient method.

                              3 votes
                              Vote 0 votes Vote Vote
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                I agree to the terms of service

                                You'll receive a confirmation email with a link to create a password (optional).

                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • 6 votes
                                Vote 0 votes Vote Vote
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  I agree to the terms of service

                                  You'll receive a confirmation email with a link to create a password (optional).

                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • 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.

                                  3 votes
                                  Vote 0 votes Vote Vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    I agree to the terms of service

                                    You'll receive a confirmation email with a link to create a password (optional).

                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • 1 vote
                                    Vote 0 votes Vote Vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      I agree to the terms of service

                                      You'll receive a confirmation email with a link to create a password (optional).

                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • add function generation for common functions

                                      Add function generations for common functions including number of points, magnitude, and domain.

                                      E.g.
                                      SquareWaveSignalGeneration( Npoints, x1,x2, mag, offset, freq, etc)
                                      GuassianSignalGeneration(...)
                                      ErfSignalGeneration(...)
                                      sineSignalGeneration(...)
                                      TriangleSingalGeneration(...)
                                      SawTooth...
                                      lorentzian
                                      Sync
                                      Etc.....

                                      6 votes
                                      Vote 0 votes Vote Vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        I agree to the terms of service

                                        You'll receive a confirmation email with a link to create a password (optional).

                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • how to calculate eigenvectors?

                                        I have this code to calculate eigenvalues/vectors, however, it causes some errors when compiled. How can I solve?
                                        ----------------------------------------
                                        using MathNet.Numerics;
                                        using MathNet.Numerics.LinearAlgebra;

                                        class Test
                                        {
                                        static void Main(string[] args)
                                        {
                                        Matrix m = new Matrix(new double[][] {
                                        new double[] { 10.0, -18.0 },
                                        new double[] { 6.0, -11.0 }});

                                        // alternative way to create the matrix:
                                        // double[][] data = Matrix.CreateMatrixData(2, 2);
                                        // data[0][0] = 10.0;
                                        // data[1][0] = 6.0;
                                        // data[0][1] = -18.0;
                                        // data[1][1] = -11.0;
                                        // Matrix m = new Matrix(data);

                                        EigenvalueDecomposition eigen = m.EigenvalueDecomposition;

                                        Complex[] eigenValues = eigen.EigenValues;
                                        // eigenvalues: 1, -2

                                        Matrix eigenVectors =… more

                                        1 vote
                                        Vote 0 votes Vote Vote
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          I agree to the terms of service

                                          You'll receive a confirmation email with a link to create a password (optional).

                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • Implement a real number type that has a variable base. EG would be using binary, or hexadecimal, etc

                                          Having support for variable bases can result in less computation. Maybe converting to binary or hex for faster computation then moving back? But the support for base variablility would help.

                                          2 votes
                                          Vote 0 votes Vote Vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            I agree to the terms of service

                                            You'll receive a confirmation email with a link to create a password (optional).

                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          • 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.

                                            11 votes
                                            Vote 0 votes Vote Vote
                                            Vote
                                            Sign in
                                            Check!
                                            (thinking…)
                                            Reset
                                            or sign in with
                                            • facebook
                                            • google
                                              I agree to the terms of service

                                              You'll receive a confirmation email with a link to create a password (optional).

                                              Signed in as (Sign out)
                                              You have left! (?) (thinking…)
                                            ← Previous 1 3
                                          • Don’t see your idea?
                                          • Post a new idea…
                                          • Math.NET Numerics

                                            Knowledge Base and Helpdesk