[us-commits] [ehb54/ultrascan3] ad06eb: extrap-c0: default reciprocal->additive (wave unfi...

emre brookes noreply at github.com
Thu Jul 23 16:26:35 MDT 2026


  Branch: refs/heads/ehb54-issue-920
  Home:   https://github.com/ehb54/ultrascan3
  Commit: ad06ebcf32fff89fd4162a573227d937f14925ff
      https://github.com/ehb54/ultrascan3/commit/ad06ebcf32fff89fd4162a573227d937f14925ff
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs.h
    M us_somo/develop/include/us_hydrodyn_saxs_iqq_extrap_c0_conc.h
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0_conc.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0_script.cpp
    M us_somo/somo/doc/manual/somo/somo_saxs_extrap_c0.html

  Log Message:
  -----------
  extrap-c0: default reciprocal->additive (wave unfixable), reciprocal wave warning, virial2/GUI cleanup

The reciprocal+GCV concentration model develops a coherent low-q "wave" in the extrapolated
profile on few-concentration series, and it has no robust lambda cure: GCV selects lambda to fit
the c/I axis, but I(0)=1/u, and the nonlinear inversion decouples "good lambda for the fit" from
"good lambda for I(0)". Proven with a faithful GCV replica plus a lambda-sweep run through SOMO
(new gcv_lambda diagnostic directive, reading GNOM waviness off datgnom): alpha-syn is clean only
at edof ~= n / ~5 / 1 and wavy across edof 10-169, while SASBDB needs edof ~60-130 (Xylanase
R^2=0.065 otherwise) -- the good bands do not intersect, so no lambda-selection rule works.
Full analysis: extrap_c0_paper/results/reciprocal_lambda_fix_final.txt.

- Default concentration model reciprocal -> additive (dialog, CLI, header, fallback, tooltip,
  manual). Additive is clean on every dataset tested; reciprocal stays available (dropdown +
  gparam saxs_extrap_c0_model). Reciprocal's MW advantage is unvalidated (no absolute-scale data)
  while its wave cost is now demonstrated on real data.
- Reciprocal-only low-q wave warning: a Wald-Wolfowitz runs test on the EXCESS low-q coherence of
  the reciprocal profile over an additive GCV baseline (a single-curve test cannot separate the
  artifact from genuine globular form-factor structure; the Guinier R^2 does not catch the wave).
- virial2 uses a per-q quadratic and ignores GCV, so the wave cannot occur there (verified: GNOM
  z ~ -1.8 where reciprocal is -11, 0 warnings); skip the wasted GCV solve and its spurious
  "Zimm GCV applied" log line for virial2.
- GUI: gray out the GCV checkbox for virial2, the fit-broadening field for non-additive models,
  and the recompute-input mode when its checkbox is off (settable-but-ignored groupings).
- New gcv_lambda control-file directive (default 0 = automatic GCV; diagnostic/power-user knob).

Behavior-preserving on pinned-model runs: all 9 regression baselines byte-identical.

Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications


More information about the us-commits mailing list