Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
897 views
in Technique[技术] by (71.8m points)

c++ - Confused with pdpotrf arguments

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

From this answer, we have:

IA and JA: 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 and JA both have to be 1!

Again, from this answer, there exists a link, that describes desca:

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...