Page MenuHomec4science

matrix_solver.py
No OneTemporary

File Metadata

Created
Tue, Apr 30, 15:36

matrix_solver.py

import numpy as np
import scipy.sparse as sp
from rrompy.hfengines.base import LinearAffineEngine, NumpyEngineBase
test = 2
N = 100
verb = 0
class MatrixEngineBase(LinearAffineEngine, NumpyEngineBase):
pass
solver = MatrixEngineBase(verbosity = verb)
solver.npar = 1
solver.nAs = 2
mu = 5.001
if test == 1:
solver.As = [sp.spdiags([np.arange(1, 1 + N)], [0], N, N),
- sp.eye(N)]
elif test == 2:
solver.setSolver("SOLVE")
fftB = np.fft.fft(np.eye(N)) * N**-.5
solver.As = [fftB.dot(np.multiply(np.arange(1, 1 + N), fftB.conj()).T),
- np.eye(N)]
solver.nbs = 1
solver.bs = [np.random.randn(N) + 1.j * np.random.randn(N)]
solver._affinePoly = True
solver.thAs = solver.getMonomialWeights(solver.nAs)
solver.thbs = solver.getMonomialWeights(solver.nbs)
uh = solver.solve(mu)[0]
print(solver.norm(uh))
solver.plot(uh)
solver.plot(solver.residual(mu, uh)[0], name = 'res')

Event Timeline