PROC v = (INT k)STRING: (k<10|"0123456789"[k+1]|v(k % 10)+v(k %* 10)); [4, 4]REAL f; PROC sz = (REF [, ] REAL p) VOID: FOR i TO 4 DO FOR j TO 4 DO p[i, j] := 0 OD OD; REAL rapidity = 0.7; REAL c = cosh(rapidity), s = sinh(rapidity); print(("c = ", c, " s = ", s, newline)); [, ]REAL a = ((c, s, 0, 0), (s, c, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)); FOR i TO 4 DO FOR j TO 4 DO ([4, 4]REAL nf; sz(nf); sz(f); f[i, j] +:= 1; f[j, i] +:= -1; FOR al TO 4 DO FOR b TO 4 DO FOR m TO 4 DO FOR n TO 4 DO nf[m, n] +:= a[m, al]*a[n, b]*f[al, b] OD OD OD OD; print("i, j ="+v(i-1)+" "+v(j-1)+": "); FOR i TO 4 DO FOR j TO 4 DO IF nf[i, j] /= 0 THEN print(("F["+v(i-1)+", "+v(j-1)+"]=", nf[i, j], "; ")) FI OD OD; print(newline)) OD OD # Yields: c = +1.25516900563094e +0 s = +7.58583701839534e -1 i, j =0 0: i, j =0 1: F[0, 1]=+1.00000000000000e +0; F[1, 0]=-1.00000000000000e +0; i, j =0 2: F[0, 2]=+1.25516900563094e +0; F[1, 2]=+7.58583701839534e -1; F[2, 0]=-1.25516900563094e +0; F[2, 1]=-7.58583701839534e -1; i, j =0 3: F[0, 3]=+1.25516900563094e +0; F[1, 3]=+7.58583701839534e -1; F[3, 0]=-1.25516900563094e +0; F[3, 1]=-7.58583701839534e -1; i, j =1 0: F[0, 1]=-1.00000000000000e +0; F[1, 0]=+1.00000000000000e +0; i, j =1 1: i, j =1 2: F[0, 2]=+7.58583701839534e -1; F[1, 2]=+1.25516900563094e +0; F[2, 0]=-7.58583701839534e -1; F[2, 1]=-1.25516900563094e +0; i, j =1 3: F[0, 3]=+7.58583701839534e -1; F[1, 3]=+1.25516900563094e +0; F[3, 0]=-7.58583701839534e -1; F[3, 1]=-1.25516900563094e +0; i, j =2 0: F[0, 2]=-1.25516900563094e +0; F[1, 2]=-7.58583701839534e -1; F[2, 0]=+1.25516900563094e +0; F[2, 1]=+7.58583701839534e -1; i, j =2 1: F[0, 2]=-7.58583701839534e -1; F[1, 2]=-1.25516900563094e +0; F[2, 0]=+7.58583701839534e -1; F[2, 1]=+1.25516900563094e +0; i, j =2 2: i, j =2 3: F[2, 3]=+1.00000000000000e +0; F[3, 2]=-1.00000000000000e +0; i, j =3 0: F[0, 3]=-1.25516900563094e +0; F[1, 3]=-7.58583701839534e -1; F[3, 0]=+1.25516900563094e +0; F[3, 1]=+7.58583701839534e -1; i, j =3 1: F[0, 3]=-7.58583701839534e -1; F[1, 3]=-1.25516900563094e +0; F[3, 0]=+7.58583701839534e -1; F[3, 1]=+1.25516900563094e +0; i, j =3 2: F[2, 3]=-1.00000000000000e +0; F[3, 2]=+1.00000000000000e +0; i, j =3 3: #