What do you mean by "solve"? You may be able to use LSQR.<br><br><div class="gmail_quote">On Tue, Jun 26, 2012 at 3:13 PM, Jin, Shuangshuang <span dir="ltr"><<a href="mailto:Shuangshuang.Jin@pnnl.gov" target="_blank">Shuangshuang.Jin@pnnl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div>
<font face="Calibri, sans-serif">
<div>Hello,</div>
<div> </div>
<div>        I would like to ask if there’s any special setup for PTESc to solve an Ax=b problem where A is a rectangular matrix instead of a square matrix. For example, when my A matrix is 3*3, the problem can be solved properly. But when my A matrix is 4*3,
the error message is:</div>
<div><font face="Times New Roman, serif"> </font></div>
<div>[0]PETSC ERROR: Arguments are incompatible!</div>
<div>[0]PETSC ERROR: Incompatible vector local lengths 4 != 3!</div>
<div><font face="Times New Roman, serif"> </font></div>
<div>PS: I created the matrix in SeqAIJ format and I could view the matrix was constructed correctly by MatView.</div>
<div><font face="Times New Roman, serif"> </font></div>
<div>  // determine number of nonzeros per row in the new matrix</div>
<div>  PetscMalloc((n+1)*sizeof(PetscInt),&cnt);</div>
<div>  for (i=0;i<n;i++) {</div>
<div>    cnt[i]=irow[i+1]-irow[i];</div>
<div>  }</div>
<div>  MatCreateSeqAIJ(PETSC_COMM_SELF,n,m,0,cnt,&A);</div>
<div>  MatSetOption(A,MAT_IGNORE_ZERO_ENTRIES,PETSC_TRUE);</div>
<div>  // copy over the matrix entries from the inputs</div>
<div>  for (i=0;i<n;i++) {</div>
<div>    PetscMalloc(cnt[i]*sizeof(PetscInt),&col);</div>
<div>    for (j=0;j<cnt[i];j++) {</div>
<div>      col[j]=icol[irow[i]+j-1]-1;</div>
<div>    }</div>
<div>    MatSetValues(A,1,&i,cnt[i],col,&ival[irow[i]-1],INSERT_VALUES);</div>
<div>  }</div>
<div>  MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY);</div>
<div>  MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY);</div>
<div>  ierr=PetscPrintf(PETSC_COMM_WORLD,"Matrix A:\n");CHKERRQ(ierr);</div>
<div>  MatView(A,PETSC_VIEWER_STDOUT_SELF);</div>
<div><font face="Times New Roman, serif"> </font></div>
<div><font face="Times New Roman, serif">        <font face="Calibri, sans-serif">I’m new to PETSc. </font><font face="Calibri, sans-serif">Sorry if</font><font face="Calibri, sans-serif"> my questions is </font><font face="Calibri, sans-serif">naïve to you</font><font face="Calibri, sans-serif">.</font><font face="Calibri, sans-serif">
But </font><font face="Calibri, sans-serif"> </font><font face="Calibri, sans-serif">a</font><font face="Calibri, sans-serif">ny comment is highly appreciated!</font></font></div>
<div><font face="Times New Roman, serif"> </font></div>
<div>Thanks,</div>
<div>Shuangshuang</div>
<div><font face="Times New Roman, serif"> </font></div>
<div><font face="Times New Roman, serif"> </font></div>
</font>
</div>

</blockquote></div><br>