-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
Currently passing this argument is causing dispatch back to the original LinearAlgebra methods.
Here's a first cut at replacing the existing method:
function LinearAlgebra.cholesky(B::BlockDiagonal{T,M}; check=true)::Cholesky where {T,M}
N = nblocks(B)
blks = Vector{M}(undef, N)
valid = true
for (i, b) in enumerate(blocks(B))
c = cholesky(b; check)
valid = valid && issuccess(c)
blks[i] = parent(UpperTriangular(c.U))
end
return Cholesky(BlockDiagonal(blks), 'U', valid ? 0 : -1)
endMetadata
Metadata
Assignees
Labels
No labels