Michael Povolotskyi
2015-10-29 20:43:12 UTC
Dear PETSc developers,
I need to set many elements into a sparse Hermitian matrix.
I'd like to do this effectively.
Your documentation says that one should use MatSetValues and set as many
elements at one call as possible. MatSetValues expects a 2D array of values.
However, my matrix elements are computed row by row. Since the matrix is
Hermitian I compute only a half of them and apply complex conjugation
for the rest.
Will the following procedure be effective:
1. Compute a part of the row that correspond to the lower part of the matrix
2. Set this part of the row to the matrix with MatSetValues
3. Apply complex conjugation and compute a part of the column that
corresponds to upper part of the matrix
4. Set this part of the column to the matrix with MatSetValues
5. move to the next row
Thank you,
Michael.
I need to set many elements into a sparse Hermitian matrix.
I'd like to do this effectively.
Your documentation says that one should use MatSetValues and set as many
elements at one call as possible. MatSetValues expects a 2D array of values.
However, my matrix elements are computed row by row. Since the matrix is
Hermitian I compute only a half of them and apply complex conjugation
for the rest.
Will the following procedure be effective:
1. Compute a part of the row that correspond to the lower part of the matrix
2. Set this part of the row to the matrix with MatSetValues
3. Apply complex conjugation and compute a part of the column that
corresponds to upper part of the matrix
4. Set this part of the column to the matrix with MatSetValues
5. move to the next row
Thank you,
Michael.
--
Michael Povolotskyi, PhD
Research Assistant Professor
Network for Computational Nanotechnology
Hall for Discover and Learning Research, Room 441
West Lafayette, IN 47907
Phone (765) 4949396
Michael Povolotskyi, PhD
Research Assistant Professor
Network for Computational Nanotechnology
Hall for Discover and Learning Research, Room 441
West Lafayette, IN 47907
Phone (765) 4949396