In [1]:
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
In [2]:
def quadeq(a,b,c):
    
    out = sp.zeros(2,dtype=complex)
    
    out[0] = (-b + sp.sqrt(b**2 - 4*a*c)) / (2*a)
    out[1] = (-b - sp.sqrt(b**2 - 4*a*c)) / (2*a)
    
    return out
In [3]:
a = 1
b = range(-5,6)
c = range(-2,11)

M = np.zeros((len(b),len(c)),dtype=complex)

for bi in range(0,len(b)):
    for ci in range(0,len(c)):
        M[bi,ci] = quadeq(a,b[bi],c[ci])[0]


plt.subplot(1,3,1)
plt.imshow(np.real(M),extent=[c[0],c[-1],b[0],b[-1]])
#plt.axis('off')
plt.title('real part')

plt.subplot(1,3,2)
plt.imshow(np.imag(M),extent=[c[0],c[-1],b[0],b[-1]])
plt.axis('off')
plt.title('imag part')

plt.subplot(1,3,3)
plt.imshow(np.absolute(M),extent=[c[0],c[-1],b[0],b[-1]])
plt.axis('off')
plt.title('magnitude')

plt.show()