MODE V = [3]REAL; #Type for vector# MODE TEN = [3,3]REAL; #Type for tensor# PROC pv = (V x)VOID: #Print vector# (FOR j TO 3 DO print(fixed(x[j], 12, 5)) OD; print(newline)); # Print named tensor:# PROC pnt = (STRING n, TEN x)VOID: (print((n, newline)); FOR j TO 3 DO pv(x[j,]) OD); #Convert anti-symmetric tensor to vector.# PROC tv = (TEN t)V: (FOR i TO 3 DO FOR j TO 3 DO (t[i,j] + t[j,i] NE 0 | pnt("Not anti-symmetric!!", t)) OD OD; (t[2,3], t[3,1], t[1,2])); #Convert vector to anti-symmetric tensor.# PROC tt = (V x)TEN: ((0, x[3], -x[2]), (-x[3], 0, x[1]), (x[2], -x[1], 0)); PROC rx = REAL: 2*next random-1; #Print named vector# PROC pnv = (STRING n, V x)VOID: (print((n, newline)); pv(x)); first random(43); #Initialize random generator# [20]V ma; #20 equal mass points of rigid body# FOR j TO UPB ma DO ma[j] := (rx, rx, rx) OD; #Initial locations randomly.# TEN omet; #Angular velocity: randommize it below:# FOR i TO 3 DO FOR j TO 3 DO omet[i,j] := (i