Powerful Graphics Software Tools for Financial, Scientific and Industrial Applications

Home | Android | Silverlight | Net CF | .Net Products | Win Apps | Java Products | WPF Products | Windows | Dos



QCMatPack for .Net Matrix and Numerical Analysis Software

Add .Net managed memory versions of advanced numerical analysis algorithms to your web sites and applications programs. Includes routines for the generalized solution of linear algebra problems, and specific algorithms for solutions of linear equations, eigensystems, digital signal processing, multiple regression, and curve fitting.  

The QCMatPack software implements what we consider the most useful numerical algorithms, written entirely in C#.  That includes routines for the generalized solution of linear algebra problems, and specific algorithms for solutions of linear equations, eigensystems, digital signal processing, multiple regression, and curve fitting. Since the algorithms are implemented using 100% managed code, they are the better choice for workstation and web based .Net applications.

Ordering Information

License Information

QCMatPack User Manual

Download Trial Version (2.8MB)


Have any questions ? Are you interested in versions for Java? Contact: info@quinn-curtis.com


Related Quinn-Curtis Products

 Product / Platform .Net .Net Compact Framework Java
QCChart2D QCChart2D for .Net QCChart2D for .Net CF QCChart2D for Java
QCRTGraphics QCRTGraph for .Net QCRTGraph for .Net CF QCRTGraph for Java
QCSPCChart QCSPCChart for .Net QCSPCChart for .Net CF QCSPCChart for Java
QCChart3D QCChart3D for .Net X QCChart3D for Java
QCMatPack QCMatPack for .Net QCMatPack for .Net CF QCMatPack for Java


QCMatPack for .Net Key Benefits


QCMatPack is 100% managed code, using only the .Net core numeric routines in the matrix and numerical analysis classes. The software makes NO calls to external, non-.Net based libraries.


Simple to use, object oriented, matrix and numerical analysis classes for the most common problems in science, engineering, industry, and business.


There are no limits regarding the size of vectors and matrices, other than the amount of free memory on the host computer. There are no limits regarding the size of the vectors and matrices used in the solution of general linear systems, solution of eigenvalue problems, multiple regression, curve fitting and DSP routines.

QCMatPack for .Net Feature Summary

bulletVisual Studio .Net - Compatible with  Visual Studio .Net 2005, 2008, 2010, and higher, and Microsoft .Net Framework Version 2.x , 3.x and higher.
bulletSharpDevelop - The software is also compatible with SharpDevelop 3.X and higher.  SharpDevelop is a free IDE for C# and VB developers writing for the .Net platform.
bulletWindows 32-bit/64-bit Compatible - The software will run as 32-bit on Windows 32-bit operating systems (XP and later 32-bit  versions of Windows)  and as 64-bit on Windows 64-bit operating systems. This is a feature of programs and libraries written using .Net (Version 2.0 or greater) in general.
bulletComplex number math - implements a complex number class, DComplex, that provides a data structure, functions and operators for manipulating complex numbers. Operator overloading of the +, -, *, /, (etc.) operators make manipulating complex numbers as simple as possible.
bullet.Net based matrix math and linear algebra - The software utilizes several generalized matrix classes, the most important of which are the DDMat for real number matrices and the DXMat class for complex number matrices. These are used for the input and output of data to the numerical analysis routines and the manipulation of real and complex number matrices. The matrix classes are designed so that there is no practical limit, other than the amount of free system memory, to the size of matrices. The DDMat and DXMat are symmetrical, in that the same matrix math and linear algebra routines are available for both real and complex numbers. The matrix classes includes routines for matrix and vector statistics (mean, maximum, minimum, range, sum, variance, standard deviation, sum of squares), matrix norms (1-norm, 2-norm, infinity-norm), utility routines (saxpy, dot product), file I/O, general matrix math functions (addition, subtractions, multiplications, division, transpose, inverse, determinant) and matrix row/column manipulation (insert, delete, copy, and interchange). Operator overloading of the +, -, *, / (etc.) operators make manipulating matrices as simple as possible.



Solutions of Systems of Linear Equations (Real and Complex)

Ax = b

Gauss Jordan, QR Factorization, LU Decomposition, Cholesky Factorization

.Net (C# and VB) algorithms (Gauss-Jordan, Cholesky, LU and QR) for solving systems of equations    .Net (C# and VB) complex versions of the Gauss-Jordan, Cholesky, LU and QR algorithms    Click image for actual size

Real, solution of equations example        Complex, solution of equations example

There is a symmetrical group of eight classes for the solution of real and complex linear systems. These classes correspond to real and complex versions of Cholesky factorization (LESCholesky, LESXCholesky), LU Decomposition (LESLU, LESXLU), QR Factorization (LESQR, LESXQR) and Gauss-Jordan (LESGJ, LESXGJ). Each class provides for the solution of one right hand side, multiple right hand sides and matrix inverse.



Solving for eigenvalues and eigenvectors (Real and Complex)

AX = λX

QL, QR and LR algorithms

.Net (C# and VB) algorithms (QL, QR and LR) for the solution of eigenvalues and eigenvectors problems    .Net (C# and VB) algorithms (QL, QR and LR) for the solution of complex eigenvalues and eigenvectors    Click image for actual size

Real, solution of eigensystems            Complex, solution of eigensystems

The eigensystem problem is divided into three categories real-symmetric, real-unsymmetric, complex symmetric (Hermitian) and complex unsymmetric. The real-symmetric case is handled using the QL algorithm in class EigenQL. The EigenQR and EigenQR2 classes use the QR algorithm to solve the real-unsymmetric case. And the EigenXLR class uses the LR algorithm to solve general complex eigenvalue problems.



Least Squares Regression

Multiple regression, forward, backward, stepwise and split regression

.Net (C# and VB) multiple, forard, backward, stepwise and split regression    Click image for actual size

Multiple Regression

General multiple regression, forward regression, backward regression, stepwise and split regression and regression summary statistics are found in the MulReg, StepwiseMulReg and SplitMulReg classes.



Curve Fitting

Polynomial, exponential, rational polynomial and cubic splines

 .Net (C# and VB) curve fitting    Click image for actual size

Polynomial Curve Fitting

The CurveFit class includes support for polynomial, exponential, rational polynomial, and mixed curve fitting. The CubicSplines class uses a cubic splines algorithm for discrete function evaluation.



Digital Signal Processing

FFTs, Windowing, Power Spectrum

 .Net (C# and VB) FFT and power spectrum calculations    Click image for actual size

FFT and Power Spectrum Calculation

The DSP class includes routines for real and complex FFT’s and power spectrum calculations. Auxiliary routines calculate FFT magnitudes, phases and frequencies.



Thermocouple Linearization

NIST ITS-90 standard as published in the NIST Monograph 17

The thermocouple linearization routines will convert from millivolts to temperature and temperature to millivolts, for B, E, J, K, N, R, S, T thermocouple types. Calculations are based on the NIST ITS-90 standard as published in the NIST Monograph 175..



Matrix Viewers

.Net (C# and VB) matrix viewer controls for real and complex matrices



DMatrixViewer displays matrix elements of a DDMat (real) matrix


XMatrixViewer displays matrix elements of a DXMat (complex) matrix

The DMatViewer and XMatViewer classes are UserControl subclasses that display real and complex number matrices, respectively. If the matrix is larger than the size you have created the view, scrollbars give the option of scrolling the rows and columns of the matrix.  The matrix viewers include options to change font characteristics, the numeric format of the matrix element values, and the number of displayed rows and columns. The matrix viewer can be read-only, or it can edited by clicking on a matrix element.


bullet100% Managed .Net Code - The software is entirely written in C#, resulting in provide better performance and scalability. Managed .Net code makes applications easier to deploy and maintain.
bulletDocumentation and Demo/Example Programs - The software includes a comprehensive 200 page user manual with many programming examples, XML help for every class and 16 example programs. Every programming example, and example program, is presented in C# and Visual Basic.

QCMatPack Developer Licensing

bulletOur QCMatPack license agreement can be found here.
bulletThe QCMatPack  Developer License is available in a Developers Version (model # NET-MAT-DEVR) that does not time out. Free updates for two years.
bulletThe QCMatPack Developer License is licensed to a single individual. It cannot be used by multiple people at the same company, unless a separate license is purchased for each person. Site licenses are also available. Contact sales@quinn-curtis.com with details of how many seats you wish to purchase and we will respond with a quote.
bulletThe QCMatPack Software does not use a redistributable license, unlike the Quinn-Curtis QCChart2D, QCRTGraph and QCSPCChart products at this time.  The basic developer license permits you to include QCMatPack as part of your application and distribute an unlimited number  royalty free.


QCMatPack Redistributable Licensing

bulletThe QCMatPack Software does not use a redistributable license, unlike QCChart2D, QCRTGraph and QCSPCChart at this time. The basic developer license permits you to include QCMatPack as part of your application and distribute an unlimited number of copies of your application, royalty free. We do not allow developers to use this software to create a graphics toolkit (a library or any type of graphics component that will be used in combination with a program development environment) for resale to other developers.


QCMatPack Source Code

bulletThe commented source code to the QCMatPack numerical software will be available January 15, 2008. The source code is written entirely in C#. In can be compiled using any version of the Visual Studio .Net C# compilers.  It can be ordered using the model # NET-MAT-SRC.
bulletPurchasers of the QCMatPack source code must also own a valid Developer License, since all example programs, user manuals, and license files are installed as part of the Developer version of the software.


Custom Programming Services

bulletQCMatPack is an extremely powerful and flexible software package. It contains over 1000 methods and properties in more than 40 classes. The user manual and  help file documentation are more than 500 pages. This can be overwhelming to the average programmer who wants to start programming today and have the prototype of an application working in a week.
bulletThe variety of user interfaces is as diverse as the industries using the software. The end-user of an application at a mutual fund expects to interact with an application program in a manner different than that of an end-user in health care. The same can be said for other industries: semiconductors, quality control, teaching, biotechnology, etc.
bulletThat is why we have written so many outstanding example programs, pulled from a wide variety of industries using many different styles of user interface.
bulletWe know that your application may be similar to, but still uniquely different from any of our example programs. To that end we offer our programming services to write for you a custom example program that demonstrates how to code and format the user interface you want. That jump start to your project can save you many weeks of work and make you look like a programming genius. All  you have to be able to do is describe in detail what you want the example to do.
bulletUsing QCMatPack for .Net, our range of expertise includes Managed C++ (MC++), VB, and C#  programming languages. For more information or a quote, please contact our sales department at sales@quinn-curtis.com

Doesn't have the features you need ? Let us know what those are so we can add them in a subsequent release. Contact: info@quinn-curtis.com

Ordering Information

Click here to go to Download Ordering

Description Model # Price
QCMatPack Developer License (no time out, royalty free) NET-MAT-DEVR $250 USD
QCMatPack Source Code NET-MAT-SRC $500 USD