PDMats.jl icon indicating copy to clipboard operation
PDMats.jl copied to clipboard

Uniform Interface for positive definite matrices of various structures

Results 33 PDMats.jl issues
Sort by recently updated
recently updated
newest added

This PR defines - `dim` - `whiten`, `whiten!` - `unwhiten`, `unwhiten!` - `quad`, `quad!` - `invquad`, `invquad!` - `X_A_Xt`, `Xt_A_X`, `X_invA_Xt`, `Xt_invA_X` for `Cholesky`. Ultimately, I think we should forward...

Looks like there are still a few things hiding out that use `Matrix` instead of `AbstractMatrix`. Here's one example: ```julia julia> a=PDMat(SMatrix{3,3}([ 0.880022 0.646205 0.598234 0.646205 0.578793 0.449772 0.598234 0.449772...

An error is thrown when differentiating a trace of a matrix division with a `PDMat`: ```julia using LinearAlgebra using PDMats using Zygote function kernel(x) return [1. x; x 1.] end...

Like `invquad(M, x) == quad(inv(M), x)`, it would be useful to also have functions `invwhiten(M, x) == whiten(inv(M), x)` and `invunwhiten(M, x) == unwhiten(inv(M), x)`. This is primarily useful when...

As pointed out in the README, `PDMat` always stores both Cholesky factorisation and full matrix. For many operations that are commonly used downstream, such as logdet and the quadratic forms,...

I was wondering if it was remotely possible to use `view` on `PDMat` matrices. Technically one would just have to use `view` on the `chol` field and it should work...

I'm not familiar with type inference so not sure what is going on, and whether this has more to do with `KeyedDistributions` than with `PDMats`. However I wasn't seeing the...

At present there is no check for positivity of the arguments that will be on the diagonal of a `PDiagMat` or `ScalMat`. Probably a good idea to check that. ```julia...

Would be really helpful in downstream code if I wouldn't have to think whether I've got a `Diagonal` -> wrap in `PDiagMat` or not -> wrap in `PDMat`. How about...

Suppose a user has a `Cholesky` decomposition of a matrix `R` and a vector of positive entries `σ` and wishes to create `Σ = PDMat(cholesky(σ .* Matrix(R) .* σ'))`. This...