from sympy import Matrix, I, re, im
def format_entry(entry):
if entry.is_Rational:
return f"{entry.p}/{entry.q}"
elif entry.is_complex:
real_part = re(entry)
imag_part = im(entry)
real_str = (
f"{real_part.p}/{real_part.q}" if real_part.is_Rational else str(real_part)
)
imag_str = (
f"{imag_part.p}/{imag_part.q}" if imag_part.is_Rational else str(imag_part)
)
sign = "+" if imag_part >= 0 else "-"
return f"{real_str} {sign} {imag_str}*i"
else:
return str(entry)
def stats(m):
print("Inverse of the matrix")
print(m.inv())
u1 = Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
u2 = Matrix([[2, 0, 0], [0, 2, 0], [0, 0, 2]])
u3 = Matrix([[8, 5, -2], [4, 7, 20], [7, 6, 1]])
u4 = Matrix([[1 + -1 * I, 2 + 3 * I], [4 + 5 * I, 6 + 7 * I]])
u5 = Matrix([[1, 2], [3, 4]])
u6 = Matrix([[1 + I, 2 + 2 * I], [3 + 3 * I, 4 + 4 * I]])
u7 = Matrix([[1 + 2 * I, 3 + 4 * I], [5 + 6 * I, 7 + 8 * I]])
print("\n\n")
stats(u4)
print("\n\n")
stats(u5)
print("\n\n")
stats(u6)
print("\n\n")
stats(u7)