[petsc-users] question about setting elements to a matrix

Michael Povolotskyi mpovolot at purdue.edu
Thu Oct 29 15:43:12 CDT 2015


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.

-- 
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



More information about the petsc-users mailing list