Skip to content

PatatalouiS/MatriXMiX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GNU/GPL v3

Introduction

This project is developped to provide a tool to compute and manipulate matrices in and sets. It allows to perform basic matrix operations as well as some decomposition and diagonalization operations. This tool is currently geared towards teaching and allows students to easily correct their algebra exercices, which are often difficult to correct by themselves. To print, it uses the beautiful typesetting. For developers : the library that we coded for matrix computations can be reused as a static or shared library in their own programs.

⚠️ Please read the installation and build instructions carefully ️⚠️

⚠️ All the bash commands described here are executed from the root of the project ️⚠️

Install

Static executables are available to compile the sources yourself. However, some conditions must be fulfilled to execute them without error. If you do not have the necessary conditions, please read the Build section. At present, the application is not available on Windows, but we are working to provide a complete cross-compilation application.

your OS must be :

  • Debian based distribution with GLIBC version >= 2.27 ( i.e from Ubuntu 18.04 LTS )
  • Mac OSX 10.14 or higher

You just have to download the good executable in the Releases section and :

UNIX

Make sure the AppImage is executable with :

$ chmod a+x MatriXMiX-x86_64.AppImage 

and after :

$ ./MatriXMiX-x86_64.AppImage 

After that, if you want, you can put the executable in your Desktop entries with the AppImageLauncher tool .

OSX

Just double click on the .dmg ! (And drag it to your Applictions folder if you like MatriXMiX)

Build

OSX and Unix

Before compiling, you must install the only dependencies of the project : The Qt Framework. Please note: sometimes, its installation can be a bit tedious. We advise you to install Qt OpenSource via their graphic installer available on the Official Website. Preferably, choose in the utility install version 12.8 of Qt because MatriXMiX has been entirely developed on it.

After, make sure the qmake tool is available in your PATH env variable by :

$ export PATH=~/Qt/5.12.8/gcc_64/bin:$PATH                  // Unix systems 
$ export PATH=~/Qt/5.12.8/clang_64/bin:$PATH                // OSX systems 

Finally, you can execute the following command:

$ make 

Which will generate the following executables in ./bin folder :

  • MatriXMiX : the MatriXMiX app in graphic version
  • MatriXMiX_TXT : A TXT Version of MatriXMiX
  • MatriXMiX_Test : regression tests for MatriXMiX
  • libMatriXMiX.a : a static lib of our Matrix Module for your C++ programs

And execute MatriXMiX with :

$ ./bin/MatriXMiX              // Unix systems 
$ open ./bin/MatriXMiX         // OSX systems 

Other Makefile rules

  • make clean : cleans .obj files, all the stuff to make the final binaries
  • make veryclean : cleans all files generated by the make command
  • make documentation : generates the Doxygen documentation

Documentation

As explained before, you can generate full documentation with the command :

$ make documentation 

Be ensure you have the required Doxygen tool for this. if not, you can install it with :

$ sudo apt install doxygen         // Unix systems 
$ brew install doxygen             // OSX systems 

Use MatriXMiX

Using MatriXMiX is very simple. You can put some matrices in the Library section. To compute, you must go to main menu and select the type of operation you want. If you don't see a matrix for one of the operation , it's because the operation you have selected can not be executed for the matrix.

You can save your current library with the File menu. A .mtmx txt file is created. Also, you can load a .mtmx file to restore a previous library.

Third Party Libraries

The MatriXMiX app uses :

  • Eigen : a C++ template library for linear algebra
  • JQKTPlotter : for typesetting
  • MuParserX : to parse the user inputs easily

Contact

For any problem of running, building, or using MatriXMiX, please contact us :
Support 1
Support 2

Authors

  • p1712754 CERBULEAN Ana-Maria
  • p1710179 OLIVIE Maxime
  • p1716451 SEBIA Hana
  • p1712760 BOUMAZA Tarik

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published