Which Windows supports C ++



Technical-scientific applications in C / C ++

The software provided here can be used freely. It is permitted to copy, change and distribute it (Boost Software License, external link!). I am very interested in further developments, for example in the context of student project work. Just write me an email! I look forward to feedback on programming errors or ideas for expansion, as well as practical application examples.

HMChart - 2D charts for Windows, Linux and macOS

HMChart enables the programming of simple 2D charts in C / C ++ under Microsoft Windows and the X Window System (X11). The X11 version can be used on both Linux and macOS. The charts are displayed in separate windows, so HMChart can be used - especially - from console applications. A pop-up menu (right mouse button) provides functions for enlarging and reducing as well as for printing out the charts. Animated charts are also supported. Under Microsoft Windows it is possible to integrate charts into existing user interfaces (see documentation).

HMExcel - automation of Microsoft Excel

HMExcel enables the automation (remote control) of the Microsoft Excel spreadsheet under the Microsoft Windows operating system. There are functions for writing and reading numerical values ​​and texts at any position in the worksheet. Existing workbooks can be opened or new, empty workbooks can be created. The saving of workbooks on the hard drive has also been supported since October 2016. The use of HMExcel under other operating systems such as Linux or macOS is currently not possible!

HMMatrix - vectors and matrices

The function and class library HMMatrix is ​​used to work with vectors and square matrices in C / C ++. Separate interfaces (header files) are provided for both languages. Basic operations such as the addition and multiplication of vectors and matrices are possible with HMMatrix, as well as QR and LU decompositions. There are various functions for input and output on the screen and in file form.

In the newer versions of HMMatrix, functions for calculating eigenvalues, eigenvectors and polynomials have been added: The calculation of eigenvalues ​​and eigenvectors is done using the cyclic Jakobi method (for symmetrical matrices) or the von Mises vector iteration (see documentation, Appendix B). Function values ​​and zeros of polynomials can now be calculated, as can characteristic polynomials of matrices. Further functions are used to solve linear systems of equations and to calculate the fast Fourier transform (FFT, Fast Fourier Transform). If necessary, multiplications of larger matrices can be distributed to several processor cores using OpenMP and thus often significantly accelerated (see documentation, Appendix C).

HMNull - Numerical method for determining the zeros

The following three methods for numerical zero point determination are implemented in the function library HMNull: the bisection method (also interval halving method), the Newton method (also Newton-Raphson method) and the secant method. Additional function templates are available in C ++ projects, which means that the calculation methods are somewhat easier to use compared to programming in C.

HMDGL - Numerical Integration of Differential Equations

HMDGL enables the numerical solution of common differential equations in the programming languages ​​C and C ++. The differential equation must be in the form u '= f (u, t), differential equations of the nth order must therefore first be converted into a system of n differential equations of the first order, in this case u' and u are vectors with n elements each. The Euler, Heun and the classic four-stage Runge-Kutta method are available as solution methods. In June 2017, programming in C ++ was significantly simplified by a newly created programming interface.