invenia / PDMatsExtras.jl

Extra Positive (Semi-)Definite Matricies
MIT License
8 stars 6 forks source link

Ar/woodbury size #28

Closed AlexRobson closed 2 years ago

AlexRobson commented 2 years ago

PDMats (0.11.14) dropped the generic size method in https://github.com/JuliaStats/PDMats.jl/pull/170 in order to deprecate dim. This broke subtypes of AbstractPDMat that we use here.

This should fix our implementatations.

It would cause:

using LinearAlgebra
using PDMatsExtras

A = randn(4, 2); D = Diagonal(rand(2,)); S = Diagonal(rand(4,))
4×4 Diagonal{Float64, Vector{Float64}}:
 0.880599   ⋅         ⋅         ⋅ 
  ⋅        0.859429   ⋅         ⋅ 
  ⋅         ⋅        0.210842   ⋅ 
  ⋅         ⋅         ⋅        0.699712

W = WoodburyPDMat(A, D, S)
Error showing value of type WoodburyPDMat{Float64, Matrix{Float64}, Diagonal{Float64, Vector{Float64}}, Diagonal{Float64, Vector{Float64}}}:

and similar for PSDMat

codecov[bot] commented 2 years ago

Codecov Report

Merging #28 (f8cf44d) into master (6ddd37d) will increase coverage by 0.55%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
+ Coverage   71.28%   71.84%   +0.55%     
==========================================
  Files           4        4              
  Lines         101      103       +2     
==========================================
+ Hits           72       74       +2     
  Misses         29       29              
Impacted Files Coverage Δ
src/psd_mat.jl 53.44% <100.00%> (+0.81%) :arrow_up:
src/woodbury_pd_mat.jl 94.44% <100.00%> (+0.15%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6ddd37d...f8cf44d. Read the comment docs.