# complex values in a + b*i form scalar rp5 = sqrt(0.5) matrix A = {1, rp5, 0, -rp5, -1, -rp5, 0, rp5}' matrix B = {0, rp5, 1, rp5, 0, -rp5, -1, -rp5}' matrix Z = complex(A, B) # calculate modulus and argument matrix zmod = cmod(Z) matrix theta = carg(Z) matrix Polar = zmod ~ theta ~ (theta * 180/$pi) cnameset(Polar, "modulus radians degrees") printf "%12.4f\n", Polar # reconstitute the original Z matrix in two ways matrix Z1 = zmod .* complex(cos(theta), sin(theta)) matrix Z2 = zmod .* exp(complex(0, theta)) matrix chk = Z ~ Z1 ~ Z2 print chk