def test_eig_dyn(): v = 0 for i in xrange(5): n = 1 + int(mp.rand() * 5) if mp.rand() > 0.5: # real A = 2 * mp.randmatrix(n, n) - 1 if mp.rand() > 0.5: A *= 10 for x in xrange(n): for y in xrange(n): A[x, y] = int(A[x, y]) else: A = (2 * mp.randmatrix(n, n) - 1) + 1j * (2 * mp.randmatrix(n, n) - 1) if mp.rand() > 0.5: A *= 10 for x in xrange(n): for y in xrange(n): A[x, y] = int(mp.re(A[x, y])) + 1j * int(mp.im(A[x, y])) run_hessenberg(A, verbose=v) run_schur(A, verbose=v) run_eig(A, verbose=v)
def test_eighe_randmatrix(): N = 5 for a in xrange(10): A = (2 * mp.randmatrix(N, N) - 1) + 1j * (2 * mp.randmatrix(N, N) - 1) for i in xrange(0, N): A[i, i] = mp.re(A[i, i]) for j in xrange(i + 1, N): A[j, i] = mp.conj(A[i, j]) run_eighe(A)
def test_eighe_randmatrix(): N = 5 for a in xrange(10): A = (2 * mp.randmatrix(N, N) - 1) + 1j * (2 * mp.randmatrix(N, N) - 1) for i in xrange(0, N): A[i,i] = mp.re(A[i,i]) for j in xrange(i + 1, N): A[j,i] = mp.conj(A[i,j]) run_eighe(A)
def test_svd_c_rand(): for i in xrange(5): full = mp.rand() > 0.5 m = 1 + int(mp.rand() * 10) n = 1 + int(mp.rand() * 10) A = (2 * mp.randmatrix(m, n) - 1) + 1j * (2 * mp.randmatrix(m, n) - 1) if mp.rand() > 0.5: A *= 10 for x in xrange(m): for y in xrange(n): A[x, y] = int(mp.re(A[x, y])) + 1j * int(mp.im(A[x, y])) run_svd_c(A, full_matrices=full, verbose=False)
def test_eighe_irandmatrix(): N = 4 R = 4 for a in xrange(10): A = irandmatrix(N, R) + 1j * irandmatrix(N, R) for i in xrange(0, N): A[i, i] = mp.re(A[i, i]) for j in xrange(i + 1, N): A[j, i] = mp.conj(A[i, j]) run_eighe(A)
def test_svd_c_rand(): for i in xrange(5): full = mp.rand() > 0.5 m = 1 + int(mp.rand() * 10) n = 1 + int(mp.rand() * 10) A = (2 * mp.randmatrix(m, n) - 1) + 1j * (2 * mp.randmatrix(m, n) - 1) if mp.rand() > 0.5: A *= 10 for x in xrange(m): for y in xrange(n): A[x,y]=int(mp.re(A[x,y])) + 1j * int(mp.im(A[x,y])) run_svd_c(A, full_matrices=full, verbose=False)
def test_eighe_irandmatrix(): N = 4 R = 4 for a in xrange(10): A=irandmatrix(N, R) + 1j * irandmatrix(N, R) for i in xrange(0, N): A[i,i] = mp.re(A[i,i]) for j in xrange(i + 1, N): A[j,i] = mp.conj(A[i,j]) run_eighe(A)