[petsc-users] Customizeing MatSetValuesBlocked(...)

Hong Zhang hzhang at mcs.anl.gov
Thu Aug 9 13:20:32 CDT 2012


"QA means quality assurance.", which has nothing to do with the technical
discussions here.

However, I take this opportunity to promote
http://aspiritech.org,
an non-profit organization with a mission to provide employment
on *QA* for high functioning individuals on the Autism Spectrum.

Hong

On Thu, Aug 9, 2012 at 12:28 PM, Jinquan Zhong <jzhong at scsolutions.com>wrote:

>    Hope this is not too technical. J****
>
> ** **
>
> **Jed, A’=[A^-1 U B], not the transpose of A.****
>
> ** **
>
> I understand that it's not the transpose. I still don't have a clue what
> the notation [A^{-1} U B] means. I would think it means some block
> decomposed thing, but I don't think you mean just adding columns or taking
> a product of matrices. Using some standard mathematical notation would help.
> ****
>
> ** **
>
> >> A’=[A^-1 U B] means matrix A’ consists all elements from A^-1, the
> inverted A, and all elements from B.  One simple equation is ****
>
> ** **
>
>            K=[Kst] =A’ = ASSEMBLE_ij (A^-1_ij) + ASSEMBLE_i’j’(B_i’j’),
>  here (s,t), (i,j) and (i’,j’) = different index sets****
>
> ** **
>
> i.e., entry K_st= A^-1_st+ B_st, ****
>
>  = 0 when A^-1_st=0 and B_st=0****
>
> =  A^-1_st when B_st =0****
>
> =  B_st when A^-1_st =0****
>
>
> ****
>
>    We need to solve for A’*x=b. A is dense matrix.****
>
>  ** **
>
> Where does A come from? Why is it dense?****
>
> ** **
>
> >> A comes from wave propagation.  It is dense since it denotes a function
> of Green function.****
>
>  ****
>
>   ****
>
> ** As I mentioned A’=K is the assembled global matrix using the rule
> K=A’=SIGMA_ij (A^-1_ij)+SIGMA_i’j’(B_i’j’) from FEM.  Here, SIGMA_ij
> (A^-1_ij) denotes the assembling process for A^-1_ij  into K according the
> DOFs of each node in the FEM model,****
>
>  ** **
>
> Is A^{-1} an operator on some subdomain? Are you trying to implement a
> substructuring algorithm? What is B physically?****
>
> ** **
>
> >> NO.  A^{-1} denotes the inverted A.  B is a sparse matrix of much
> larger order.****
>
>  ****
>
>   Then there is no way A^{-1} should be stored as a dense matrix. ****
>
> o   It is stored as a dense matrix in scalapack.  It stays in the same
> way in cores as scalapack finishes its inversion.  We could define A^-1 as
> dense matrix in PETSc. ****
>
>  It should not be done this way. A^{-1} should not be stored explicitly.
> Store the sparse finite element matrix A. Then when you want to "apply
> A^{-1}", solve with the sparse matrix.****
>
> ** **
>
>  ** Jed, you are getting close to understand the problem related to QA.
> A has to be inverted explicitly.  A^-1 has to be known entry by entry such
> that each entry in B could be assembled with A^-1 to form A’=K.  This is a
> requirement beyond technical issue.  This is a QA issue.****
>
>  ** **
>
> What does QA stand for? Can you explain why B needs the entries of A^{-1}?
> ****
>
> ** **
>
> >> QA means quality assurance.  It is a procedure to ensure product
> quality.  In Eq. ****
>
> ** **
>
> K=A’=ASSEMBLE_ij (A^-1_ij)+ ASSEMBLE_i’j’(B_i’j’)****
>
>                 ****
>
> Entry B_i’j’ and A^-1_ij may or may not locate at the same row and col.
> That why we need explicitly each entry in B_i’j’ and A^-1_ij to assemble
> K.  The big picture is that K is the final sparse matrix we need to solve
> K*x=A’*x=b.  However, K indexed by (s,t) needs to be constructed in terms
> of dense matrix A and sparse matrix B using index sets (i,j) and (i’,j’).
> ****
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120809/0075b63e/attachment.html>


More information about the petsc-users mailing list