Document expliquant comment faire pour programmer la méthode de Jacobi (méthode de résolution des systèmes linéaires) sous Java. Il contient non seulement une explication du principe des méthodes itératives et fournit également le code source en Java avec une explication détaillée pour tester la méthode par vous-même.
[...] Nous avons choisi d'écrire cet alrogithme sous l'environement Java. Code source Explications du code Nous avons déclaré une classe ‘Matrix' qui contient à la fois des méthodes permettant la construction de la matrice mais aussi une méthode où on a implementé l'algorithme de Jacobi. Cette classe contient les éléments suivant : I.Deux attributs : private double Matrix[][], private int size le premier attribut référence la matrice en soit et le deuxième nous indique le tailler de la matrice. II. Un constructeur : Matrix(){ } Il permet de créer une instance de la classe Matrix. [...]
[...] D'autre part, cet exemple met en évidence que la méthode de Jacobi nous donne une valeur approchée Matrice B Soit la matrice d'entrée suivante : La sortie d'écran est la suivante : Enter the size of the matrix Enter the value of the coordinate 1,1 Enter the value of the coordinate 1,2 Enter the value of the coordinate 1,3 Enter the value of the coordinate 3,3 Enter the value of the coordinate 2,1 Enter the value of the coordinate 2,2 Enter the value of the coordinate 2,3 Enter the value of the coordinate 2,4 Enter the value of the coordinate 3,1 Enter the value of the coordinate 3,2 Enter the value of the coordinate 3,3 Enter the value of the coordinate 3,4 Enter the value of the coordinate 4,1 Enter the value of the coordinate 4,2 Enter the value of the coordinate 4,3 Enter the value of the coordinate 4,4 we obtein as a solution: - 8.266462207489092 E E E262 - 1.7741639856159602 E263 Nous constatons que cet exemple nous ne trouvons pas de solution. En effet, l'algorithme ne converge pas, en effet nous savons que la méthode Jacobi ne converge pas nécessairement. [...]
[...] Deux accesseurs : setMatrix() et setSize(). Ils permettent d'initialiser les attributs de la classe. IV. Méthode toString() : String toString(){ Cette méthode fait appel aux accesseurs getSize() et getMatrix() afin de connaître la taille de la matrice. V. Méthode Jacobi : double[] Jaco(double } Cette méthode prend en argument un vecteur représentant le point de départ afin de calculer la solution et retourner le vecteur solution. La première boucle nous permet de réitérer la méthode, et les deux autres calculent les composantes du vecteur solutions. [...]
[...] Nous avons alors recours aux méthodes itératives. Pour ce faire, nous résolvons le système A.X=B, où A est une matrice inversible, en construisant une suite de vecteur , où . Le vecteur optimal est généralement obtenu après un certain nombre d'itération lorsqu'on atteint une précision souhaitée appelé également critère d'arrêt. Principe Les méthodes itératives consistent à utiliser un vecteur initiale afin de produire une suite de vecteurs du type : Résoudre le système A.X=B ou A est une matrice carrée d'ordre n peut s'écrire sous une autre forme identique (M-N).X=B ou encore M.X=N.X+N.B .Donc à partir d'un vecteur initiale , on génère une suite de la façon suivante : Cette suite est représentée par la relation itérative suivante : où et Nous ne peut savoir si le vecteur estimé se dirige vers la solution optimale si un critère de convergence n'est pas définie. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture