This web site offers some state-of-the-art solvers for dense linear equation systems.
These programs are completely free for unlimited use unless you repackage them for sale, as a whole or part of a larger package. In such cases, please obtain permission from the author before selling the software. But feel free to use these programs for education or profit in your normal work.
Some details you may need to know:
· These routines and programs are based at their heart on structurally modified versions of C++ matrix decomposition routines developed and provided free by Matlab and NIST. See references link below.
· These routines and programs handle any shape or size of system, and handle singularity, ill-conditioning, etc. The packaged solvers are currently dimensioned to handle up to a few thousand rows and/or columns.
· These routines and programs allow you to add inequality constraints , such as to make the solution non-negative.
· These routines and programs allow you to add equality constraints, such as to make the answers add to 1.
· You have a choice of several core algorithms, depending on your situation.
· You can scale the equations yourself or choose an algorithm which does that for you.
· You can provide error estimates, for possibly better results, but they can also just be 0.
· These programs are strong algorithmically, and quite robust from a software viewpoint.
· The programs are very easy to use. Give them your hardest problems, and see the results!
· Like any software, these programs inevitably contain errors. Also, some methods use heuristics which may not be suitable or reliable for your particular situation. Always be sure to check the solution for reasonableness and correctness.
For free packaged matrix solvers (for Windows PCs), which read and write Excel-compatible files, click here. These programs all have names that start with “solve” and are closely related. They read your problem description from a file which must be named problem.csv. This file must be an Excel-type comma-separated-value file, though the commas are optional. These programs write their output to another Excel-compatible file named solve*.csv. The asterisk will be replaced by the name of the algorithm chosen, such as solveSA.csv . Please follow the link just above for more information on selecting a solver, preparing your input file, and understanding your output file.
For our C++ software library for dense systems of equations, click here.
The smaller file, matrix.h includes code for algorithms up to robust least-squares solution for any shape system.
The larger file, rejtrix.h extends matrix.h to have solvers which include regularization and constraints.
The main algorithms in rejtrix.h are callable from Fortran or C. Please download the rejtrix.h file by following the link just above and then search through the file for the phrase “For calling from”. There you will find instructions on how to compile, link, and call key routines from Fortran or C.
For tutorials on matrix problems and special topics, click here.
For a brief introduction to the kinds of issues that come up in solving pathological equation systems and how rejtrix addresses them, please see this explanation .
For licensing, or references, or to contact the author, click here.
“Ron Jones” “Rondall Jones” “Ronald Jones” “Ron Jones math”
“linear equations” “matrix problem” “least squares” “matrix solver” “overdetermined” “underdetermined”
“constrained linear equations” “nonnegative solution” “regularized” “regularization” “automatic regularization” “autoreg”
mathematics “free download” “C++ software” “C++ library”