<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Hi,<br><br>I just saw that 4.0 uses a new mtx format which can also efficiently store sparse matrices.<br>Please try if my modified gmxdump for 4.0.5 works?<br>Store the data below in a file called fix and then do:<br>patch gmxdump.c fix<br><br>Berk<br><br>61a62,63 <br>> #include "sparsematrix.h" <br>> #include "mtxio.h" <br>364a367,402 <br>> static void list_mtx(char *fn) <br>> { <br>> int nrow,ncol,i,j,k; <br>> real *full=NULL,value; <br>> gmx_sparsematrix_t * sparse=NULL; <br>> <br>> gmx_mtxio_read(fn,&nrow,&ncol,&full,&sparse); <br>> <br>> if (full == NULL) {<br>> snew(full,nrow*ncol);<br>> for(i=0;i<nrow*ncol;i++) {<br>> full[i] = 0;<br>> }<br>><br>> for(i=0;i<sparse->nrow;i++) {<br>> for(j=0;j<sparse->ndata[i];j++) {<br>> k = sparse->data[i][j].col;<br>> value = sparse->data[i][j].value;<br>> full[i*ncol+k] = value;<br>> full[k*ncol+i] = value;<br>> }<br>> }<br>> gmx_sparsematrix_destroy(sparse);<br>> }<br>><br>> printf("%d %d\n",nrow,ncol);<br>> for(i=0; i<nrow; i++) {<br>> for(j=0; j<ncol; j++) {<br>> printf(" %g",full[i*ncol+j]);<br>> }<br>> printf("\n");<br>> }<br>><br>> sfree(full);<br>> }<br>><br>381a420<br>> { efMTX, "-mtx", "hessian", ffOPTRD },<br>409a449,450<br>> else if (ftp2bSet(efMTX,NFILE,fnm))<br>> list_mtx(ftp2fn(efMTX,NFILE,fnm));<br><br><br /><hr />Express yourself instantly with MSN Messenger! <a href='http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/' target='_new'>MSN Messenger</a></body>
</html>