Skip to content

dmlux/UZLMathLib

Repository files navigation

UZLMath Library

This library contains several base types that can be used for mathematical purposes and algorithms. To improve the performance as much as possible some types take use of stable and efficient libraries as for example the OpenBLAS library. The implemented types are written in C++ and taking care of memory management and save memory access. The object orientated implementation also provides an easy to use API for software engineers and mathematicians. Some of the basic methods are adjusted to MATLAB to make it easier to translate algorithms into C++ by using this library.

This documentation was automatically generated by the doxygen tool that parses the comments that are written into the implementation and header files of the classes itself. Some of the methods itself are described in a mathematical way to illustrate the implementation methods that were used. Often there are several ways to express specific functions or polynomials. In this cases the comment explains which of the possible methods was taken to implement these functions or polynomials.

How do I get set up?

  • The first thing that is needed to compile this library is the OpenBLAS library. Unfortunately the OpenBLAS library can't be installed by the common package managers that are available on Linux. Therefore there are several methods to get the library installed on Mac OS X, Linux or Windows.

    • Mac OS X: There are two ways to get the installation done. The first way is to clone the project itself from the github repository and compiling it on your own and moving the library to the right directories by use of the make install target. The installation prefix should be set to /usr/local/. The second and more comfortable way is to use the Homebrew package manager for Mac OS X. Clone the project from github with 'git clone git://github.com/xianyi/OpenBLAS' to get the latest version.

    • Linux:

    • Windows:

  • The next step is installing the FFTW library. This library is written and testet with FFTW3.3.4. Therefore we recommend to install this version of library to ensure that no special side effects occuring.

  • If both FFTW and OpenBLAS are installed on the system the cmake tool can create either a unix makefile or a project file for the IDE of your choice.

On Mac OS X you have to make sure the g++ compiler is used for compiling the library, otherwise the OpenMP support is not provided. To change the compiler for the project, clone the UZLMathLib from the repository and create a new directory for the project files. Navigate to the project folder and change the CXX environment variable via

export CXX=/path/to/g++

The g++ compiler should have version 4.8 and greater to provide the OpenMP interface. This is the reason why the build in g++ compiler provided by apple is not suitable for compiling the Multithreaded library parts.

About

A math library providing algorithms and data structures for linear algebra and Fourier analysis purposes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published