Proc IML

Hallo,
ich stehe gerade etwas auf dem Schlauch. Probiere gerade ein unkommentiertes Programm nachzuvollziehen und wollte mal um Rat fragen. Es geht um verschiedene Matrizen:
Wir haben als Ausgangsbasis eine Distanzmatrix (1119 X 1119) mit dem Namen Dist und lauter Nullen auf der Diagonalen von links oben nach rechts unten (wie es halt bei Distanzmatrizen so ist...)

Es werden nun daraus verschiedene andere Matrizen erzeugt, wobei ich Fehler des Autors auch nicht ausschließen kann...

1. Dist1 = Dist + 1000 * I(1119)

Diese erste Matrix glaube ich noch selber interpretieren zu können: bedeutet es nicht, dass einfach auf die Diagonale, auf der bei Dist nur Nullen stehen, überall die Zahl 1000 eingetragen wird? Würde im Bezug auf das weitere Programm Sinn machen...

2. Hilf = {[1119] 1}`*{[1119] 1} - I(1119)

Hier kann ich mir irgendwie gar nichts drunter vorstellen... ok, man hat eine Matrix, transponiert sie und multipliziert sie nochmal mit der Ausgangsmatrix... und zieht hinterher die Einheitsmatrix ab. Dass alle Matrizen die Form 1119 X 1119 haben müssen, ist klar, aber wie genau sieht die Ausgangsmatrix aus????

3. Dist2 = (Dist-52*Hilf)

Wenn ich jetzt wüsste, wie Hilf aussieht, würde ich jedes einzelne Element der Matrix mit 52 malnehmen und die so entstandene Matrix hinterher von Dist abziehen...richtig??

4. Dist3 = Dist2<>NULL

Ich bin mir nicht sicher, aber kann mir vorstellen, dass alle Elemente von Dist2, die negativ sind, durch eine Null ersetzt werden und der Rest unverändert bleibt.

5. MIN=Dist3##2

Meine mich zu erinnern, dass das einfach die quadrierte Matrix Dist3 sein muss....

Wäre für jeden Tipp dankbar!!
Viele Grüße und schönen Tag noch

Sehe schon etwas klarer...

..da war ich wohl etwas vorschnell. Und da ich nicht weiß, wie ich meinen obigen Beitrag editieren kann, nun noch ein Kommentar:
Ich weiss nun nur noch nicht ganz, was mir

Min = Dist1[><,><] erzeugt!?

Hallo Stephanie, >< erzeugt

Hallo Stephanie,
>< erzeugt das Minimum eines Vektors
a=dist[><,] erzeugt einen Vektor mit den Minimum-Werten der Spalten
dist[><,><] erzeugt das Minimum von a, kurz gesagt es wird der kleinste Wert der Matrix bestimmt.
Grüße B. Muschik