numerik1/lib/lrmp.h

43 lines
1.3 KiB
C

#ifndef _LRMP_H_
#define _LRMP_H_ 1
#include "vorrueckwaertsub.h"
#include <math.h>
int LRmP (int n, double ** a, int * p);
/* LR-Zerlegung mit halbmaximaler Pivotsuche */
/* Eingabe: */
/* n : Groesse der Matrix, */
/* a : Matrix, */
/* p : Vektor der Laenge n fuer Permutationen. */
/* Rueckgabe: */
/* a : LR-zerlegte Matrix, */
/* unterhalb der Diagonale ist L gespeichert, */
/* in der Diagonale und oberhalb R, */
/* p : Permutationen bei Pivotsuche. */
/* Rueckgabewert: */
/* bei Fehler */
/* (Matrix 'fast' singulaer, d.h. */
/* Pivotelement kleiner als eps = 1.0e-8) */
/* wird 1 zurueckgegeben, */
/* sonst 0. */
int Solve (int n, double ** a, double * b, int * p);
/* Berechnet Loesung von Ax=b mittels : */
/* Routine LRmP(n,a,p) fuer LR-Zerlegung, */
/* dann Substitutionen mit 'vorrueckwaertsub'. */
/* Eingabe: */
/* n : Groesse des Systems, */
/* a : Matrix, */
/* b : rechte Seite des LGS, */
/* p : Vektor, um die Permutationen zu speichern. */
/* Rueckgabe: */
/* b : Loesung, */
/* p : Permutationen von LRmP, */
/* a : LR-zerlegte Matrix. */
/* Rueckgabewert: */
/* falls die LR-Zerlegung nicht funktioniert 1, */
/* sonst 0. */
#endif