示例#1
0
    def EigenSolver(self):
        L = self.D - self.W
        R = self.D
        lam, y = eig(L, R)
        index = np.argsort(lam)

        top2 = lam[index[:2]].real
        smallest_2 = y[:, index[1]]
        print('dense eigenvector')
        return smallest_2.real
示例#2
0
    def EigenSolver(self):
        L = self.D - self.W
        R = self.D
        lam, y = eig(L, R)
        index = np.argsort(lam)

        top2 = lam[index[:2]].real
        smallest_2 = y[:, index[1]]
        print('dense eigenvector: {} with shape of {}'.format(
            smallest_2, smallest_2.shape))
        return smallest_2.real
示例#3
0
def eigval_decomp(sym_array):
    """
    Returns
    -------
    W: array of eigenvectors
    eigva: list of eigenvalues
    k: largest eigenvector
    """
    #check if symmetric, do not include shock period
    eigva, W = decomp.eig(sym_array, left=True, right=False)
    k = np.argmax(eigva)
    return W, eigva, k
示例#4
0
def eigval_decomp(sym_array):
    """
    Returns
    -------
    W: array of eigenvectors
    eigva: list of eigenvalues
    k: largest eigenvector
    """
    #check if symmetric, do not include shock period
    eigva, W = decomp.eig(sym_array, left=True, right=False)
    k = np.argmax(eigva)
    return W, eigva, k