<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hong,<br>
    <br>
    On 07.02.2012 17:06, Hong Zhang wrote:
    <blockquote
cite="mid:CAGCphBvGdEavFWKxRzGOvAZxR2UUkkofvXd5=VaHqC=s-DLmHQ@mail.gmail.com"
      type="cite">Alexander:
      <div>Thanks for sending matrix data and testing code.</div>
      <div>Before testing it, I have question about your code: </div>
      <div>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            <div bgcolor="#ffffff" text="#000000"><br>
                MatCreateMPIAIJ(PETSC_COMM_WORLD, PETSC_DECIDE,
              PETSC_DECIDE, N, M, 12, PETSC_NULL, 12, PETSC_NULL,
              &AT);<br>
              <br>
                MatTranspose(A,MAT_IGNORE_MATRIX,&AT);<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>should be replaced with</div>
          <div>MatTranspose(A,MAT_INITIAL_MATRIX,&AT);</div>
        </div>
      </div>
    </blockquote>
    <br>
    Hm, it seems this was the reason...<br>
    <br>
    <blockquote
cite="mid:CAGCphBvGdEavFWKxRzGOvAZxR2UUkkofvXd5=VaHqC=s-DLmHQ@mail.gmail.com"
      type="cite">
      <div>
        <div class="gmail_quote">
          <div> </div>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            <div bgcolor="#ffffff" text="#000000"> <br>
              To compare results I use following Matlab script:<br>
              <br>
              Cm = A.'*B;<br>
            </div>
          </blockquote>
          <div>              ^ </div>
          <div><br>
          </div>
          <div>Do you mean 'Cm = A'*B;'? </div>
          <div>'Cm = A.'*B;' gives component-wise matrix product, not
            matrix product.</div>
        </div>
      </div>
    </blockquote>
    <br>
    .' operator means non-Hermitian transpose. That is what I get with
    MatTranspose (in contrast with MatHermitianTranspose)<br>
    component-wise matrix product would be .*<br>
    <br>
    <blockquote
cite="mid:CAGCphBvGdEavFWKxRzGOvAZxR2UUkkofvXd5=VaHqC=s-DLmHQ@mail.gmail.com"
      type="cite">
      <div>
        <div class="gmail_quote">
          <div><br>
          </div>
          <div>Hong</div>
          <div><br>
          </div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            <div bgcolor="#ffffff" text="#000000"> C =
              PetscBinaryRead('C.dat','complex',true);<br>
              <br>
              Matrix C is different depending on number of cores I use.
              <br>
              My PETSc is:<br>
              Using Petsc Development HG revision:
              876c894d95f4fa6561d0a91310ca914592527960  HG Date: Tue Jan
              10 19:27:14 2012 +0100
              <div>
                <div class="h5"><br>
                  <br>
                  On 06.02.2012 17:13, Hong Zhang wrote:
                  <blockquote type="cite">MatMatMult() in petsc is not
                    well-tested for complex - could be buggy.
                    <div>Can you send us the matrices A and B in petsc
                      binary format for investigation?</div>
                    <div><br>
                    </div>
                    <div>Hong<br>
                      <br>
                      <div class="gmail_quote">On Mon, Feb 6, 2012 at
                        5:55 AM, Alexander Grayver <span dir="ltr"><<a
                            moz-do-not-send="true"
                            href="mailto:agrayver@gfz-potsdam.de"
                            target="_blank">agrayver@gfz-potsdam.de</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:
                          0pt 0pt 0pt 0.8ex; border-left: 1px solid
                          rgb(204, 204, 204); padding-left: 1ex;">Dear
                          PETSc team,<br>
                          <br>
                          I try to use:<br>
                          call
MatMatMult(A,B,MAT_INITIAL_MATRIX,PETSC_DEFAULT_DOUBLE_PRECISION,C,ierr);CHKERRQ(ierr)<br>
                          <br>
                          Where both A and B are rectangular, but A is
                          sparse and B is dense. Both are double complex
                          and distributed.<br>
                          The product PETSc gives me contains some
                          errors in some part of the matrix.<br>
                          I output A, B and C then computed product in
                          matlab.<br>
                          <br>
                          Attached you see figure plotted as:<br>
                          imagesc(log10(abs(C-Cm)))<br>
                          <br>
                          Where Cm -- product computed in matlab.<br>
                          <br>
                          The pattern and amplitude vary depending on
                          the number of cores I use. This picture is
                          obtained for 48 cores (I've tried 12, 64 cores
                          as well).<br>
                          <br>
                          Where should I look for possible explanation?<span><font
                              color="#888888"><br>
                              <br>
                              -- <br>
                              Regards,<br>
                              Alexander<br>
                            </font></span></blockquote>
                      </div>
                      <br>
                    </div>
                  </blockquote>
                  <br>
                  <br>
                </div>
              </div>
              <span class="HOEnZb"><font color="#888888">
                  <pre cols="72">-- 
Regards,
Alexander</pre>
                </font></span></div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Regards,
Alexander</pre>
  </body>
</html>