@@ -42,19 +42,19 @@ function setup_solovev()
4242 intr. mpert = intr. mhigh - intr. mlow + 1
4343 intr. numpert_total = intr. mpert * intr. npert
4444 metric = FFS. make_metric (equil, intr. mpert)
45- ffit = FFS. make_matrix (equil, intr, metric)
46- return ctrl, equil, ffit , intr
45+ mats = FFS. build_matrix_splines (equil, intr, metric)
46+ return ctrl, equil, mats , intr
4747end
4848
4949# Evaluate the Riccati RHS explicitly from splines: dS = w†·F̄⁻¹·w - S·Ḡ·S
50- function riccati_rhs_manual (S, psi, equil, ffit , intr)
50+ function riccati_rhs_manual (S, psi, equil, mats , intr)
5151 N = intr. numpert_total
5252 L = zeros (ComplexF64, N, N)
5353 Kmat = zeros (ComplexF64, N, N)
5454 Gmat = zeros (ComplexF64, N, N)
55- ffit . fmats_lower (vec (L), psi; hint= ffit . _hint)
56- ffit . kmats (vec (Kmat), psi; hint= ffit . _hint)
57- ffit . gmats (vec (Gmat), psi; hint= ffit . _hint)
55+ mats . ideal . F_spline_lower (vec (L), psi; hint= mats . _hint)
56+ mats . ideal . K_spline (vec (Kmat), psi; hint= mats . _hint)
57+ mats . ideal . G_spline (vec (Gmat), psi; hint= mats . _hint)
5858
5959 q = equil. profiles. q_spline (psi)
6060 singfac = vec (1.0 ./ ((intr. mlow: intr. mhigh) .- q .* (intr. nlow: intr. nhigh)' ))
@@ -77,7 +77,7 @@ println("\n=== riccati_der! formula verification ===")
7777println (" Verifies riccati_der! output matches manual evaluation of Glasser 2018 Eq. 19." )
7878println (" Test state: Hermitian S (physical constraint). Expected error: ~machine epsilon.\n " )
7979
80- ctrl, equil, ffit , intr = setup_solovev ()
80+ ctrl, equil, mats , intr = setup_solovev ()
8181N = intr. numpert_total
8282
8383odet = FFS. OdeState (N, ctrl. numsteps_init, ctrl. numunorms_init, intr. msing)
@@ -101,15 +101,15 @@ max_err = let max_err = 0.0
101101 S = (A + A' ) / 2 # Hermitian by construction
102102
103103 # Manual RHS
104- dS_manual = riccati_rhs_manual (S, psi, equil, ffit , intr)
104+ dS_manual = riccati_rhs_manual (S, psi, equil, mats , intr)
105105
106106 # riccati_der! RHS
107107 u_ric = zeros (ComplexF64, N, N, 2 )
108108 du_ric = zeros (ComplexF64, N, N, 2 )
109109 u_ric[:, :, 1 ] .= S
110110 u_ric[:, :, 2 ] .= Matrix {ComplexF64} (I, N, N)
111111 dummy_chunk = FFS. IntegrationChunk (psi, psi, false , 0 , 1 )
112- params = (ctrl, equil, ffit , intr, odet, dummy_chunk)
112+ params = (ctrl, equil, mats , intr, odet, dummy_chunk)
113113 FFS. riccati_der! (du_ric, u_ric, params, psi)
114114 dS_ric = du_ric[:, :, 1 ]
115115
0 commit comments