hardcoding numpy dependence
only 1 numpy dependence remained: linalg.eigh