Skip to content

Fix convert for ScalMat - #210

Merged
devmotion merged 2 commits into
masterfrom
dw/convert_scalmat
Mar 31, 2025
Merged

Fix convert for ScalMat#210
devmotion merged 2 commits into
masterfrom
dw/convert_scalmat

Conversation

@devmotion

Copy link
Copy Markdown
Member

Fixes #211.

@codecov-commenter

codecov-commenter commented Nov 29, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 91.37%. Comparing base (b85c8ac) to head (90fb76a).
Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #210      +/-   ##
==========================================
- Coverage   91.61%   91.37%   -0.24%     
==========================================
  Files           9        8       -1     
  Lines         680      638      -42     
==========================================
- Hits          623      583      -40     
+ Misses         57       55       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@devmotion
devmotion merged commit 548d4de into master Mar 31, 2025
devmotion added a commit that referenced this pull request Jun 24, 2026
Resolve conflicts from master, preserving all master improvements while
keeping the PR's unification of `PDMat`/`PDSparseMat` and the SparseArrays
package extension.

Key resolutions:
- `PDMat` keeps the generalized 3-parameter struct (`mat::S`, `fact::F`);
  master's coercing constructors and `convert` methods are re-expressed
  against `fact`/`cholesky(...)` (with an added 3-parameter `convert`).
- Dense Cholesky operations stay on the general `PDMat`; `cholesky` is the
  only method restricted to the `PDMatCholesky` alias. The sparse extension
  overrides the CHOLMOD-specific methods by dispatch.
- Master's sparse `invwhiten`/`invunwhiten` methods and modernized
  `quad`/`quad!` are folded into the extension's `pdsparsemat.jl`; generic
  sparse operations now flow through the unified core `PDMat` methods.
- `congruence.jl` and `StatsBaseExt.jl` are narrowed to `PDMatCholesky` and
  switched from `.chol` to the `cholesky(...)` accessor (avoids catching
  sparse matrices and resolves dispatch ambiguities).
- Preserved master features: coercing constructors/convert (#212, #210),
  `invwhiten`/`invunwhiten` (#221), `ldiv!` (#228), the `kron` fix (#218),
  ForwardDiff-safe `whiten!`/`unwhiten!` (#217), `congruence.jl`, the
  StatsBase extension, and the Runic formatting (#220).
- Dropped pre-1.9 / Julia-1.0 compat shims (compat is now Julia >= 1.10);
  dropped the now-unused SuiteSparse dependency.
- Fixed a latent dead `quad`/`invquad` specialization (`<:Vector` ->
  `Matrix{T}`).
- Version bumped to 0.12.0 (breaking: `PDMat` struct parameters changed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stack overflow in MvNormal(::Vector{Real}, UniformScaling{Float64}

2 participants