fix: 修复了QR的权重问题

This commit is contained in:
mayge
2025-09-21 23:48:28 -04:00
parent e87dda9027
commit 9c68dbbae9

View File

@@ -116,17 +116,15 @@ class BasicBasisQR:
weights = np.diag([1/res for res in weights])
s = self.s
H = np.asarray(H, np.complex128).reshape(-1,1)
Phi = self.Phi
psi = weights @ Phi
psi = Phi
psi = weights @ self.Phi
HPhi = H * Phi
HPhi = H * psi
A_re = np.hstack([np.real(-psi), np.real(-HPhi)])
A_im = np.hstack([np.imag(-psi), np.imag(-HPhi)])
A_re = np.hstack([np.real(psi), np.real(-HPhi)])
A_im = np.hstack([np.imag(psi), np.imag(-HPhi)])
b_re = np.real(d0 * H)
b_im = np.imag(d0 * H)
b_re = np.real(weights @ (d0 * H))
b_im = np.imag(weights @ (d0 * H))
A = np.vstack([A_re, A_im]).astype(float)
@@ -168,7 +166,7 @@ class BasicBasisQR:
if __name__ == "__main__":
network = rf.Network("/tmp/paramer/simulation/3000/3000.s2p")
K = 10
K = 100
H11,freqs = auto_select([network.y[i][0][0] for i in range(2,len(network.y))],network.f[2:],max_points=20)
poles = generate_starting_poles(2,beta_min=freqs[0]/1.1,beta_max=freqs[-1]*1.1)