I’d like to use the LU factorization of the adjoint of a sparse matrix of type CuSparseMatrixCSR with the package CUDSS.jl, e.g. lu(A'), by only having access to lu(A).
I’m looking for a method such as ldiv!(X::StridedVecOrMat{T}, adjlu::AdjointFactorization{T,<:UmfpackLU{T}}, B::StridedVecOrMat{T}) where {T<:UMFVTypes},
which exists for “conventional” sparse matrices. In this case, everything is abstracted away so that lu(A')=lu(A)'.
I understand this high-level feature may not be implemented just yet, but I wonder if there is a simple workaround to achieve the same.
Do you need both lu(A') and lu(A) or only one of them?
If you only need one of them, you just need to transform you matrix in CuSparseMatrixCSC and pass the matrix as before to cuDSS (CSR format).
It will factorize A'.
Otherwise, I don’t see any linear algebra trick because the factorization is a “block-box”, we don’t have access to the factors.
I suggest to request this feature and send an email to cuDSS-EXTERNAL-Group@nvidia.com
It will be easy to support it in the Julia interface once it is available.