exanauts / CUDSS.jl

MIT License
18 stars 1 forks source link

Refactorization example #53

Closed IdRatherBeCoding closed 1 month ago

IdRatherBeCoding commented 1 month ago

I've found the library really useful, thank you. However, I cannot work out how to do a refactorization. How can I update the solver by factorizing a matrix with the same sparsity pattern but different values? Are you available to provide an example of this?

EDIT: I can see that the examples do indeed show how to reuse the symbolic analysis and refactor. I expected to see use of CUDSS_PHASE_REFACTORIZATION for phase "refactorization". Is that not required?

amontoison commented 1 month ago

Hi @IdRatherBeCoding, You can find examples in the README. It's in-place LU, LDL' and Cholesky.

amontoison commented 1 month ago

CUDSS_PHASE_REFACTORIZATION is only relevant for a specific algorithm of the LU decomposition, otherwise you have the same bahavior with CUDSS_PHASE_FACTORIZATION.

amontoison commented 1 month ago

@IdRatherBeCoding I checked the documentation and you're right that using "refactorization" is more relevant. In many cases it's equivalent to "factorization" but it could change in future releases: https://docs.nvidia.com/cuda/cudss/types.html#cudssphase-t