clarkez / model Goto Github PK
View Code? Open in Web Editor NEWModélisation d'algorithmes numériques et symboliques. Implémentation de différent algorithme appliqué à des matrices.
Modélisation d'algorithmes numériques et symboliques. Implémentation de différent algorithme appliqué à des matrices.
Implémentation de différent algorithme appliqué à des matrices à coefficient sur les nombres à virgule flottante double (double précision). Ce projet utilise également la librairie MPFR qui signifie "Multiple-Precision Floating-point computations with correct Rounding". Afin de pouvoir comparer les résultats ainsi que la vitesse d'exécution des algorithmes appliqués sur des matrices à coefficients double précision et sur des matrices à coefficients MPFR. Les algorithmes sont les suivantes : - QR décomposition - Transformation d'une matrice quelconque en une matrice d'Hessenberg - Valeurs propres d'une matrice Ce code marche pour les versions MPFR et GMP suivantes : MPFR library: 4.1.0-p13 MPFR header: 4.1.0-p13 (based on 4.1.0) GMP : 6.2.1 Pour compiler le programme, mettez vous dans le dossier /Projet et faites : $ make Si tout ce passe bien vous aurez : gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o algo.o -c algo.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o base.o -c base.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o benchmark.o -c benchmark.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o main.o -c main.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o matrix.o -c matrix.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o tests.o -c tests.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o unit_test.o -c unit_test.c gcc -g -Wall -O2 -pg -lm -lgmp -lmpfr -Wextra -Werror -o main algo.o base.o benchmark.o main.o matrix.o tests.o unit_test.o -lm -lmpfr -lgmp Pour lancer l'exécutable vous pouvez utiliser les différents options : $ ./main [-size n] [-iteration i] ou $ ./main [-n n] [-i i] Les arguments peuvent être rentré dans l'ordre souhaité. Si aucun argument n'est mis, ou si des arguments sont manquants alors les valeurs par défaut seront : - size : 4 - iteration : 1 Exemple : $ ./main $ ./main -n 10 $ ./main -n 4 -i 5 Si vous avez un doute, vous pouvez utiliser la commande : $ ./main -h ou $ ./main -help Une fois exécuté, le programme vous demandera de choisir quel benchmark lancer. Pour exécuter les tests unitaires il faut décommenter les fonctions dans le fichier unit_test.c et exécuter le programme. Par exemple vous pouvez tester l'algorithme qui rend une matrice A Hessenberg supérieure, il suffit alors de décommenter la ligne 60, test_hessenberg(n).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.