<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi, I try to solve an eigenvalue problem (Ax = lambda B x) where A <br>and B are complex matrices. Unfortunately, my data structures <br>are not capable of handling directly complex numbers, yet. So,<br>I have to use <br><br>                [re(A) -im(A)]<br>RealA  = [                    ]<br>                 [imA)   re(A)] <br><br>matrices instead. How should I allocate matrices if I know<br>compressed sparse row matrix formats of A and B matrices. I have used<br>something like this.<br><br>ierr = MatCreate(PETSC_COMM_WORLD,&RealA); CHKERRQ(ierr);    <br>ierr = MatSetSizes(RealA,PETSC_DECIDE,PETSC_DECIDE,2*n,2*n); CHKERRQ(ierr);<br>ierr = MatSetType(RealA,MATMPIBAIJ); CHKERRQ(ierr);<br>ierr = MatSetBlockSize(RealA,2);CHKERRQ(ierr);<br>ierr = MatSetFromOptions(RealA);CHKERRQ(ierr);<br>                <br>ierr = MatMPIBAIJSetPreallocationCSR (RealA,2,rows,cols,0); CHKERRQ(ierr);<br>ierr = MatAssemblyBegin (RealA,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);<br>ierr = MatAssemblyEnd (RealA,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);<br><br>where n is the global size of matrix A. rows and cols are csr arrays of A.<br>Each submatrix of RealA matrix have the same nonzero pattern than A.<br>But I am not sure if this is correct, because when I print my matrices out<br>they look more like band matrices than block matrices.<br><br>-Heikki<br>                                     </div></body>
</html>