.TH "sc::SCMatrixDiagBlock" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::SCMatrixDiagBlock \- The \fBSCMatrixDiagBlock\fP describes a diagonal piece of a matrix\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SCMatrixBlock\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSCMatrixDiagBlock\fP (int istart, int iend, int jstart)" .br .ti -1c .RI "\fBSCMatrixDiagBlock\fP (int istart, int iend)" .br .ti -1c .RI "\fBSCMatrixDiagBlock\fP (\fBStateIn\fP &)" .br .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "\fBSCMatrixBlock\fP * \fBdeepcopy\fP () const" .br .RI "Return of copy of this\&. " .ti -1c .RI "void \fBprocess\fP (\fBSCElementOp\fP *)" .br .ti -1c .RI "void \fBprocess\fP (\fBSCElementOp2\fP *, \fBSCMatrixBlock\fP *)" .br .ti -1c .RI "void \fBprocess\fP (\fBSCElementOp3\fP *, \fBSCMatrixBlock\fP *, \fBSCMatrixBlock\fP *)" .br .ti -1c .RI "double * \fBdat\fP ()" .br .RI "Return a pointer to the block's data and the number of elements in the block\&. " .ti -1c .RI "int \fBndat\fP () const" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "int \fBistart\fP" .br .ti -1c .RI "int \fBjstart\fP" .br .ti -1c .RI "int \fBiend\fP" .br .ti -1c .RI "double * \fBdata\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSCMatrixDiagBlock\fP describes a diagonal piece of a matrix\&. The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixDiagBlock &b) { int i,j,offset=0; for (i=b\&.istart,j=b\&.jstart; i