|
a/MatLib.def |
|
b/MatLib.def |
|
... |
|
... |
209 |
(* Spiegelt die unsymmetrische Matrix A an der Hauptdiagonalen. *)
|
209 |
(* Spiegelt die unsymmetrische Matrix A an der Hauptdiagonalen. *)
|
210 |
(* Die transponiert Matrix hat die Dimension N,M, A muss diesen *)
|
210 |
(* Die transponiert Matrix hat die Dimension N,M, A muss diesen *)
|
211 |
(* Speicherplatz bereithalten. *)
|
211 |
(* Speicherplatz bereithalten. *)
|
212 |
(*----------------------------------------------------------------*)
|
212 |
(*----------------------------------------------------------------*)
|
213 |
|
213 |
|
|
|
214 |
PROCEDURE CStuerzMN(VAR A : ARRAY OF ARRAY OF LONGCOMPLEX;
|
|
|
215 |
M,N : CARDINAL;
|
|
|
216 |
IfConj : BOOLEAN);
|
|
|
217 |
|
|
|
218 |
(*----------------------------------------------------------------*)
|
|
|
219 |
(* Spiegelt die unsymmetrische komplexe Matrix A an der Haupt- *)
|
|
|
220 |
(* diagonalen. Die transponiert Matrix hat die Dimension N,M, *)
|
|
|
221 |
(* A muss diesen Speicherplatz bereithalten. *)
|
|
|
222 |
(* Wenn IfConj = TRUE wird beim Spiegeln das konjugiert *)
|
|
|
223 |
(* komplexe gesetzt (d.h. es wird die adjungierte Matrix erzeugt) *)
|
|
|
224 |
(*----------------------------------------------------------------*)
|
|
|
225 |
|
214 |
PROCEDURE Transpose(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
226 |
PROCEDURE Transpose(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
215 |
n : CARDINAL);
|
227 |
n : CARDINAL);
|
216 |
|
228 |
|
217 |
(*----------------------------------------------------------------*)
|
229 |
(*----------------------------------------------------------------*)
|
218 |
(* Spiegelt die quadratische Matrix Mat an der Hauptdiagonalen. *)
|
230 |
(* Spiegelt die quadratische Matrix Mat an der Hauptdiagonalen. *)
|
|
... |
|
... |
334 |
(* M x 1 vector, X[0..M-1] fuer trans = wahr *)
|
346 |
(* M x 1 vector, X[0..M-1] fuer trans = wahr *)
|
335 |
(* Y : M x 1 vector, X[0..N-1] fuer trans = falsch *)
|
347 |
(* Y : M x 1 vector, X[0..N-1] fuer trans = falsch *)
|
336 |
(* N x 1 vector, X[0..M-1] fuer trans = wahr *)
|
348 |
(* N x 1 vector, X[0..M-1] fuer trans = wahr *)
|
337 |
(*----------------------------------------------------------------*)
|
349 |
(*----------------------------------------------------------------*)
|
338 |
|
350 |
|
339 |
PROCEDURE CMatVekProd(VAR X : ARRAY OF LONGCOMPLEX;
|
351 |
PROCEDURE CMatVekProd(VAR Y : ARRAY OF LONGCOMPLEX;
|
340 |
VAR Mat : ARRAY OF ARRAY OF LONGCOMPLEX;
|
352 |
VAR A : ARRAY OF ARRAY OF LONGCOMPLEX;
|
341 |
Vek : ARRAY OF LONGCOMPLEX;
|
353 |
X : ARRAY OF LONGCOMPLEX;
|
342 |
dim : CARDINAL); (* Dim d. Matrix *)
|
354 |
M,N : CARDINAL;
|
|
|
355 |
trans : CHAR);
|
343 |
|
356 |
|
344 |
(*----------------------------------------------------------------*)
|
357 |
(*----------------------------------------------------------------*)
|
345 |
(* Mulipliziet den komplexen Vektor Vek mit der komplexen Matrix *)
|
358 |
(* Mulipliziet den komplexen Vektor Vek mit der komplexen Matrix *)
|
346 |
(* Mat. (X = Mat*Vek) *)
|
359 |
(* Mat. (X = Mat*Vek). Wenn trans = *)
|
|
|
360 |
(* *)
|
|
|
361 |
(* Y : Resultierender Vektor *)
|
|
|
362 |
(* A : Komplexe Matrix der Dimension A[M,N] *)
|
|
|
363 |
(* X : Vektor mit dem Multiplziert werden soll *)
|
|
|
364 |
(* M,N : Dimensionen von A *)
|
|
|
365 |
(* trans : Wenn CAP(trans) *)
|
|
|
366 |
(* "N" : Normale Matrix-Vektor-Multiplikation *)
|
|
|
367 |
(* "T" : Transponiertes A mal Vektor X *)
|
|
|
368 |
(* "C" : Adjunktes A mal Vektor X *)
|
347 |
(*----------------------------------------------------------------*)
|
369 |
(*----------------------------------------------------------------*)
|
348 |
|
370 |
|
349 |
PROCEDURE SvVekProd(VAR Y : ARRAY OF LONGREAL; (* ==> *)
|
371 |
PROCEDURE SvVekProd(VAR Y : ARRAY OF LONGREAL; (* ==> *)
|
350 |
VAR A : ARRAY OF LONGREAL; (* <== SUPERVEKTOR *)
|
372 |
VAR A : ARRAY OF LONGREAL; (* <== SUPERVEKTOR *)
|
351 |
VAR X : ARRAY OF LONGREAL; (* <== *)
|
373 |
VAR X : ARRAY OF LONGREAL; (* <== *)
|
|
... |
|
... |
617 |
(* identical to the 1-Norm (maximal colume sum) in the special *)
|
639 |
(* identical to the 1-Norm (maximal colume sum) in the special *)
|
618 |
(* case of a symmetic matrix *)
|
640 |
(* case of a symmetic matrix *)
|
619 |
(*----------------------------------------------------------------*)
|
641 |
(*----------------------------------------------------------------*)
|
620 |
|
642 |
|
621 |
PROCEDURE MatNormL1(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
643 |
PROCEDURE MatNormL1(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
622 |
N : INTEGER;
|
644 |
M,N : CARDINAL;
|
623 |
VAR Norm : LONGREAL);
|
645 |
VAR Norm : LONGREAL);
|
624 |
|
646 |
|
625 |
(*-----------------------------------------------------------------*)
|
647 |
(*-----------------------------------------------------------------*)
|
626 |
(* Berechnet die L1 Norm der Matrix A als maximale Zeilensumme der *)
|
648 |
(* Berechnet die L1 Norm der Matrix A als maximale Zeilensumme der *)
|
627 |
(* Absolutwerte. *)
|
649 |
(* Absolutwerte. *)
|
|
... |
|
... |
657 |
dim : CARDINAL;
|
679 |
dim : CARDINAL;
|
658 |
MaxNorm : BOOLEAN);
|
680 |
MaxNorm : BOOLEAN);
|
659 |
|
681 |
|
660 |
(*----------------------------------------------------------------*)
|
682 |
(*----------------------------------------------------------------*)
|
661 |
(* Normiert den Vektor X im Bereich X[1] bis X[dim]. *)
|
683 |
(* Normiert den Vektor X im Bereich X[1] bis X[dim]. *)
|
662 |
(* Wenn MaxNorm = TRUE so, da3 das Maximale Element die Gr"o3e *)
|
684 |
(* Wenn MaxNorm = TRUE so, da3 das maximale Element die Gr"o3e *)
|
663 |
(* 1 hat, ansonsten nach der Euklidschen Norm auf 1 *)
|
685 |
(* 1 hat, ansonsten nach der euklidschen Norm auf 1 *)
|
664 |
(*----------------------------------------------------------------*)
|
686 |
(*----------------------------------------------------------------*)
|
665 |
|
687 |
|
666 |
PROCEDURE NormMat(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
688 |
PROCEDURE NormMat(VAR A : ARRAY OF ARRAY OF LONGREAL;
|
667 |
dim : CARDINAL;
|
689 |
dim : CARDINAL;
|
668 |
VekAnz : CARDINAL;
|
690 |
VekAnz : CARDINAL;
|