Skip to content

ThibaultGH/LeastSquare

Repository files navigation

UTILISATION DU PROJET C++ POUR LE PROBLÈME DES MOINDRES CARRÉS

CE PROJET SE COMPOSE D'UN CERTAIN NOMBRE DE FICHIERS :
   _ MAKEFILE
   _ MAIN.CPP
   _ FUNCTIONS.HPP
   _ FUNCTIONS.CPP
   _ MAT.HPP
   _ MAT.CPP

IL S'UTILISE DE LA MANIÈRE SUIVANTE :
   _ OUVRIR UN TERMINALE ET SE PLACER DANS LE DOSSIER .../PROJET.
   _ TAPER MAKE DANS LE TERMINALE POUR COMPILER LES FICHIERS.
   _ TAPER ./MAIN POUR EXECUTER LE PROGRAME ISSU DU FICHIER MAIN.CPP

VOICI UN DESCRIPTIF DU CONTENU DE CHAQUE FICHIER ET DE COMMENT LES UTILISER :

      _ MAKEFILE : LE MAKEFILE PERMET DE COMPILER ET DE LIER ENSEMBLE TOUT LES FICHIERS DU PROJET EN UNE SEULE INSTRUCTION DANS LE TERMINALE. IL EST DÉCONSEILLÉ DE LA MODIFIER CAR UNE MAUVAISE MODIFICATION REND LE PROJET INUTILISABLE. CEPENDANT, VOICI LES INSTRUCTIONS EQUIVALENTES A MAKE A EFFECTUER SI L'ON VEUT MODIFIER LE PROJET :

      		  g++ -g -Wall -o main main.cpp Mat.cpp functions.cpp


      _ MAIN.CPP : DANS CE FICHIER L'UTILISATEUR PEUT UTILISER COMME IL VEUT TOUTES LES FONCTIONS, CONSTRUCTEURS DU PROJET DÉCRIT DANS LES AUTRES FICHIERS. IL DISPOSE AUSSI DES BIBLIOTHEQUES IOSTREAM, VECTOR, STRING, ET MATH.H.


      _ FUNCTIONS.HPP : CE FICHIER CONTIENT TOUTES LES ENTÊTES DE FONCTIONS DES FONCTIONS DÉFINIES DANS FUNCTIONS.CPP. VOICI LE DÉTAIL DE CE QUE FONT CES FONCTIONS :

      		      _ VOID DECOMP_LU(M) : DETERMINE LA DÉCOMPOSITION LU (LOWER/UPPER) DE LA MATRICE M ET LA STOCKE DANS M MÊME. PAR CONVENTION, LA MATRICE TRIANGULAIRE INFÉRIEUR L DE LA DÉCOMPOSITION LU PRÉSENTE DES 1 SUR SA DIAGONALE, ON OMET ICI DE LES STOKER ET ON METS A LA PLACE LES COEFFICIENTS DIAGONAUX DE U. IL FAUT DONC FAIRE ATTENTION POUR RÉCUPÉRER L, IL FAUT PRENDRE TOUS LES COEFFICIENTS INFÉRIEURS STRICTE DE LA MATRICE M MODIFIÉ ET AJOUTER DES 1 SUR LA DIAGONALE.

		      _ W INV_TRIANG_INF_LU(M,V) : RÉSOUDS LE SYSTÉME LINÉAIRE M*W=V OÙ W EST L'INCONNU ET LORSQUE M EST LE STOCKAGE DE LA DÉCOMPOSTION LU D'UNE MATRICE SOUS LE FORMAT DE LA FONCTION PRÉCÉDENTE.

		      _ W INV_TRIANG_SUP(M,V) : RÉSOUDS LE SYSTÈME LINÉAIRE M*W=V OÙ W EST L'INCONNU ET M EST TRIANGULAIRE SUPÉRIEUR.

		      _ N TRANSPOSE(M) : PRENDS UNE MATRICE M ET RENVOIE SA TRANSPOSÉ N.

		      _ V SPLIT(STR,SEP) : PRENDS UNE CHAINE DE CARACTÈRE STR ET UN CARACTÈRE SEP ET RENVOIE LE VECTEUR DE CHAINE DE CARACTÈRE V QUI CONTIENT DES SOUS CHAINES DE CARACTÈRE DE STR QUI ÉTAIT ORIGINALEMENT SÉPARER PAR LE SÉPARATEUR SEP.

		      _ W VSCAPROD(V,L) : PRENDS UN VECTEUR V ET UN SCALAIRE L ET RENVOIE LE VECTEUR W=V*L=L*V.

		      _ W VVSUM(V,X) : PRENDS DEUX VECTEURS V ET X ET RENVOIE W=V+X.

		      _ L PRODL2(V,W) : PRENDS DEUX VECTEURS V ET W ET RENVOIE LEUR PRODUIT SCALAIRE
L2 L.

		      _ L NORML2(V) : PRENDS UN VECTEUR V ET RENVOIE SA NORME L2 L.

		      _ W COL(M,I) : PRENDS UNE MATRICE M ET UN ENTIER I ET RENVOIE LE I IEME VECTEUR COLONNE DE M W.

		      _ W ROW(M,I) : PRENDS UNE MATRICE M ET UN ENTIER I ET RENVOIE LE I IEME VECTEUR LIGNE DE M W.

		      _ N GRAMSCHMIDT(M) : PRENDS UNE FAMILLE DE VECTEURS STOCKÉS DANS UNE MATRICE M ET RENVOIE LA FAMILLE ORTHONORMÉE RÉSULTANTE DU PROCÉDÉ DE GRAMSCHMIDT N.

		      _ M ID(N) : PRENDS UN ENTIER N ET RENVOIE LA MATRICE IDENTITÉ DE TAILLE N M.

		      _ M H(V) : PRENDS UN VECTEUR V ET RENVOIE LA MATRICE H(V)= ID - 2*V*V'/NORM(V)².

	_ FUNCTIONS.CPP : CE FICHIER CONTIENT LES DÉFINITIONS DES FONCTIONS DÉCLARER DANS LE FICHIER FUNCTIONS.HPP.

	_ MAT.HPP : CE FICHIER CONTIENT LES DÉCLARATIONS DE LA CLASSE MATRICE QUI A POUR DONNÉES MEMBRES LE NOMBRE DE LIGNE DE LA MATRICE, LE NOMBRE DE COLONNE DE LA MATRICE ET SES COEFFICIENTS RANGÉS DANS UN VECTEUR RANGÉS LIGNE PAR LIGNE. VOICI LE DÉTAIL DES FONCTIONS MEMBRES ET AMIES DÉCLARÉES DANS LA CLASSE MATRICE :

	  	    _ LES FONCTIONS MEMBRES :

		      	  	    _ MAT(NR = 0, NC = 0) : CONSTRUCTEUR D'UNE MATRICE VIDE AVEC NR LIGNES ET NC COLONNES, QUI SONT PAR DÉFAUT À 0.

				    _ MAT(V,NR,NC) : PRENDS UN VECTEUR V ET DEUX ENTIERS NR ET NE ET CONSTRUIT LA MATRICE DONT LES DONNÉES MEMBRES SONT LE VECTEUR V ET LES DEUX ENTIERS NR ET NC RESPECTIVEMENT, NOMBRE DE LIGNE ET NOMBRE DE COLONNE.

				    _ MAT(M) : CONSTRUCTEUR PAR RECOPIE DE LA MATRICE M.

				    _ COL() : RETOURNE LE NOMBRE DE COLONNE D'UNE MATRICE.

				    _ ROW() : RETOURNE LE NOMBRE DE LIGNE D'UNE MATRICE.

				    _ RESIZE(NR, NC) : REDIMENSIONNE UNE MATRICE EN NR LIGNE ET NC COLONNE.

				    _ OPERATOR() (I,J) : SURCHAGE DE L'OPÉRATEUR D'ACCES AU COEFFICIENTS I,J DE LA MATRICE. IL Y A DEUX SURCHAGES, UNE POUR ACCEDER AU COEFFICIENT, L'AUTRE POUR POUVOIR LE MODIFIER.

				    _ OPERATOR= (M) : SURCHAGE DE L'OPERATEUR D'AFFECTATION POUR LA CLASSE MATRICE.

				    _ LOAD(FILENAME) : PERMET DE CHARGER UNE MATRICE À L'AIDE D'UN FICHIER PRÉSENT DANS LE RÉPERTOIRE NOMMÉ FILENAME DANS LE FORMAT PRÉCIS D'ÉCRIT DANS LE PROJET.

				    _ COL(V,I) : REMPLACE LA COLONNE I DE LA MATRICE PAR LE VECTEUR V.

				    _ ROW(V,I) : REMPLACE LA LIGNE I DE LA MATRICE PAR LE VECTEUR V.

				    

			_ LES FONCTIONS AMIES :

			      	    _ MVPROD(A,X,B) : EFFECTUE LE PRODUIT MATRICE VECTEUR DE A PAR X ET LE STOCK DANS B.

				    _ MMPROD(A,X,B) : EFFECTUE LE PRODUIT MATRICE MATRICE DE A PAR B ET LE STOCK DANS C.

				    _ OPERATOR<< (OS, M) : SURCHAGE DE L'OPERATEUR D'AFFICHAGE D'UNE MATRICE M À TRAVERS LE FLUX OS.

				    _ SOLVE(A,X,B) : RÉSOUDS LE SYSTÈME LINÉAIRE A*X=B OÙ X EST L'INCONNU PAR UNE DÉCOMPOSITION LU DE LA MATRICE A.

				    _ NORMALSOLVE(A,X,B) : RÉSOUDS LE PROBLÈME DES MOINDRES CARRÉS OÙ A ET B SONT LES DONNÉES ET X L'INCONNU PAR LA MÉTHODE DE L'EQUATION NORMALE.

				    _ GRAMSCHIMDTSOLVE(A,X,B) : RÉSOUDS LE PROBLÈME DES MOINDRES CARRÉS OÙ A ET B SONT LES DONNÉES ET X L'INCONNU PAR UNE DÉCOMPOSITION QR DE LA MATRICE A PAR UN PROCÉDÉ DE GRAMSCHMIDT.

				    _ HOUSEHOLDERSOLVE(A,X,B) : RÉSOUDS LE PROBLÈME DES MOINDRES CARRÉS OÙ A ET B SONT LES DONNÉES ET X L'INCONNU PAR UNE DÉCOMPOSITION QR DE LA MATRICE A PAR LA MÉTHODE DE HOUSEHOLDER. 

	_ MAT.CPP : CE FICHIER CONTIENT LES DEFINITIONS DES FONCTIONS MEMBRES ET AMIES DE LA CLASSE MATRICE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages