PetscViewerSocketPutSparse_Private

Passes a sparse matrix in AIJ format to a Socket PetscViewer.

Synopsis


Input Parameters

vw - obtained from PetscViewerSocketOpen()
m, n - number of rows and columns of matrix
nnz - number of nonzeros in matrix
v - the nonzero entries
r - the row pointers (m + 1 of them)
c - the column pointers (nnz of them)

Notes

Most users should not call this routine, but instead should employ
    MatView(Mat matrix,PetscViewer viewer)

Notes for Advanced Users

PetscViewerSocketPutSparse_Private() actually passes the matrix transpose, since Matlab prefers column oriented storage.

See Also

PetscViewerSocketOpen(), MatView()
*/ int PetscViewerSocketPutSparse_Private(PetscViewer vw,int m,int n,int nnz,Scalar *v,int *r,int *c) { PetscViewer_Socket *vmatlab = (PetscViewer_Socket*)vw->data; int ierr,t = vmatlab->port,type = SPARSEREAL,value;

PetscFunctionBegin; ierr = PetscBinaryWrite(t,&type,1,PETSC_INT,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,&m,1,PETSC_INT,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,&n,1,PETSC_INT,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,&nnz,1,PETSC_INT,0);CHKERRQ(ierr); #if !defined(PETSC_USE_COMPLEX) value = 0; #else value = 1; #endif ierr = PetscBinaryWrite(t,&value,1,PETSC_INT,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,v,nnz,PETSC_REAL,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,r,m+1,PETSC_INT,0);CHKERRQ(ierr); ierr = PetscBinaryWrite(t,c,nnz,PETSC_INT,0);CHKERRQ(ierr); PetscFunctionReturn(0); }

Level:developer
Location:
src/sys/src/viewer/impls/socket/sendsparse.c
Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages