From e87dda902707c58e850252604f31c12b7b8f582c Mon Sep 17 00:00:00 2001 From: mayge Date: Sun, 21 Sep 2025 21:57:07 -0400 Subject: [PATCH] feat: Add QR part --- core/basisQR.py | 50 ++++++++++++++++++++++++++++++------------------ img.png | Bin 59952 -> 0 bytes 2 files changed, 31 insertions(+), 19 deletions(-) delete mode 100644 img.png diff --git a/core/basisQR.py b/core/basisQR.py index 2f16635..c32d05c 100644 --- a/core/basisQR.py +++ b/core/basisQR.py @@ -5,7 +5,7 @@ import skrf as rf from skrf import VectorFitting from core.freqency import auto_select -class BasicBasis: +class BasicBasisQR: def __init__(self,H,freqs,poles,weights=None): self.least_squares_rms_error = None self.least_squares_condition = None @@ -21,7 +21,8 @@ class BasicBasis: self.A = self.matrix_A(self.poles) self.B = self.vector_B(self.poles) self.D = 1.0 - self.Cr,self.Cw = self.fit_denominator(self.H, d0=1.0, weights=weights) + self.Cw = self.fit_denominator(self.H, d0=1.0, weights=weights) + self.Cr = None z = np.linalg.eigvals(self.A - self.B @ self.Cw) p_next = -z @@ -128,29 +129,40 @@ class BasicBasis: b_im = np.imag(d0 * H) A = np.vstack([A_re, A_im]).astype(float) + + Q,R = np.linalg.qr(A) + R22 = R[A_re.shape[1]//2:, A_re.shape[1]//2:] + Q2 = Q[:, A_re.shape[1]//2:] # rown = np.linalg.norm(A, axis=1) # rown = np.sqrt(rown) # A = rown[:,None] * A b = np.concatenate([b_re, b_im]).astype(float) - x = np.linalg.inv(A.T @ A) @ A.T @ b + x = np.linalg.inv(R22) @ (Q2.T @ b) - self.least_squares_rms_error = np.sqrt(np.mean((A @ x - b)**2)) - self.least_squares_condition = np.linalg.cond(A) + self.least_squares_rms_error = np.sqrt(np.mean((Q2 @ R22 @ x - b)**2)) + self.least_squares_condition = np.linalg.cond(Q2 @ R22) - Cn,Cd = self.vector_C(x) - return Cn,Cd + Cw = self.vector_Cw(x) + return Cw - def vector_C(self,x): - Cn = np.asarray([x[:len(x)//2]], float).reshape(1,-1) - Cd = np.asarray([x[len(x)//2:]], float).reshape(1,-1) - return Cn, Cd + def vector_Cw(self,x): + return x.T - def evaluate(self,freqs,poles,Cn,Cd,d0=1.0): + def non_bias_Cr(self,d0 = 1.0): + A = np.asarray(self.Phi) + den = np.diag((d0 + self.Phi @ self.Cw.T).ravel()) + b = np.asarray(den) @ self.H.reshape(-1,1) + Cr, residuals, rank, s = np.linalg.lstsq(A, b, rcond=None) + return Cr + + def evaluate(self,freqs, d0=1.0): s = 1j * 2*np.pi * np.asarray(freqs, float).ravel() - phi = self.generate_basis(s, poles) - num = phi @ Cn.T - den = d0 + phi @ Cd.T + phi = self.generate_basis(s, self.poles) + den = d0 + phi @ self.Cw.T + if self.Cr is None: + self.Cr = self.non_bias_Cr(d0=d0) + num = phi @ self.Cr H = num / den return H.ravel() @@ -162,7 +174,7 @@ if __name__ == "__main__": Dt_1 = np.ones((len(freqs),1),np.complex128) # Levi step (no weighting): - basis = BasicBasis(H11,freqs,poles=poles) + basis = BasicBasisQR(H11,freqs,poles=poles) Dt = basis.Dt poles = basis.next_poles @@ -180,7 +192,7 @@ if __name__ == "__main__": eigenval_condition = [] eigenval_rms_error = [] for i in range(K): - basis = BasicBasis(H11,freqs,poles=poles,weights=Dt) + basis = BasicBasisQR(H11,freqs,poles=poles,weights=Dt) Dt_1 = Dt Dt = basis.Dt poles = basis.next_poles @@ -198,7 +210,7 @@ if __name__ == "__main__": eigenval_rms_error.append(basis.eigenval_rms_error) # H11_evaluated = basis.evaluate_pole_residue(network.f[1:],poles,basis.C[0]) - H11_evaluated = basis.evaluate(network.f[2:], poles, basis.Cr[0],basis.Cw[0], d0=1.0) + H11_evaluated = basis.evaluate(network.f[2:], d0=1.0) import matplotlib.pyplot as plt fig, axes = plt.subplots(3, 2, figsize=(15, 16), sharex=False) @@ -234,7 +246,7 @@ if __name__ == "__main__": ax4.set_ylabel("Magnitude") ax4.legend(loc="best") fig.tight_layout() - plt.savefig(f"basic_basis.png") + plt.savefig(f"basic_basis_QR.png") diff --git a/img.png b/img.png deleted file mode 100644 index fd59237ef8abc51f24a9fe169d8efc8d39119ee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59952 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