I want to do a Cholesky factorization in a distributed environment. For that purpose, I use pdpotrf(). However, I am struggling understanding the parameters needed by the function and they provide no C example on how to use it (and an example would be really great to have).
Assume I have a NxX matrix I want to factorize. Then, what values should the parameters have? uplo
, a
and info
are well defined in my mind. How about the rest?
n
should be equal to N I would say. However, desca
, ia
and ja
are the ones that confuse me. Moreover, desca
is global and local, something that I can't understand. Can someone explain? Maybe with an approach-example (not necessarily code, since I want to understand, not just copy paste).
I do not know any Fortran.
From this answer, we have:
IA
andJA
: those parameters are meant to provide the starting row and column of your global matrix inside a larger matrix. They are only relevant if you have a big matrix and only want the Cholesky decomp of a submatrix. In your case,IA
andJA
both have to be1
!
Again, from this answer, there exists a link, that describes desca
:
来源:https://stackoverflow.com/questions/30937544/confused-with-pdpotrf-arguments