• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sm00thix / ikpls / 29529704838 / 5
94%
main: 94%

Build:
DEFAULT BRANCH: main
Ran 16 Jul 2026 09:13PM UTC
Files 13
Run time 4s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Jul 2026 07:52PM UTC coverage: 25.171%. Remained the same
29529704838.5

push

github

web-flow
Optimize Q loading for the 2<=M<K branch (6.1.2) (#51)

## Summary

Micro-optimizes the improved Y-loadings `Q` update in the `2 <= M < K` branch of the
shared Improved Kernel PLS inner loop (`ikpls._impl.pls_steps`, used by
`ikpls.numpy.PLS` and `ikpls.fast_cross_validation.numpy.PLS`). Performance-only up to
a ~1-ULP floating-point reassociation; NumPy backend only.

```diff
- q = q * np.sqrt(eig_vals[-1]) / tTt
+ q = q * (np.sqrt(eig_vals[-1]) / tTt_val)

Folding the two scalar factors before the single array multiply — reusing the Python
float tTt_val (already materialized for the score-norm stability guard) and
precomputing sqrt(eig_vals[-1]) / tTt_val — turns two array ufuncs (a multiply and
a divide by the (1, 1) array tTt) into one array multiply, and drops the
(1, 1)-array broadcast.

Motivation

For small M this update is dominated by per-call NumPy dispatch, not arithmetic. Under
the previous form the improved element-wise Q was measurably slower in-fit than the
original matmul (rᵀ XᵀY)ᵀ / tTt at small M — the original's BLAS matmul stays
cache/branch-warm alongside the surrounding fit while the element-wise dispatch does not.
The reassociation roughly halves the dispatch and removes that regression.

331 of 1315 relevant lines covered (25.17%)

0.25 hits per line

Source Files on job windows-latest-python-3.14-numpy-only - 29529704838.5
  • Tree
  • List 13
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29529704838
  • 701020bd on github
  • Prev Job for on main (#29293361446.12)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc