---
name: "sc_LocalDiagSCMatrix"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_LocalDiagSCMatrix"
---

# sc\_LocalDiagSCMatrix(3)

## NAME

sc::LocalDiagSCMatrix

## SYNOPSIS

Inherits **sc::DiagSCMatrix**.

### Public Member Functions

**LocalDiagSCMatrix** (const **RefSCDimension** &, **LocalSCMatrixKit** \*)\
 void **save\_data\_state** (**StateOut** &)\
 double **get\_element** (int) const\
 Return or modify an element.  void **set\_element** (int, double)\
 void **accumulate\_element** (int, double)\
 void **accumulate** (const **DiagSCMatrix** \*)\
 Sum m into this.  double **invert\_this** ()\
 Invert this.  double **determ\_this** ()\
 Return the determinant of this. this is overwritten.  double **trace** ()\
 Return the trace.  void **gen\_invert\_this** ()\
 Do a generalized inversion of this.  void **element\_op** (const **Ref**\< **SCElementOp** \> &)\
 Perform the element operation op on each element of this.  void **element\_op** (const **Ref**\< **SCElementOp2** \> &, **DiagSCMatrix** \*)\
 void **element\_op** (const **Ref**\< **SCElementOp3** \> &, **DiagSCMatrix** \*, **DiagSCMatrix** \*)\
 void **vprint** (const char \*title=0, std::ostream &out=**ExEnv::out0**(), int=10) const\
 double \* **get\_data** ()\
 **Ref**\< **SCMatrixSubblockIter** \> **local\_blocks** (SCMatrixSubblockIter::Access)\
 Returns iterators for the local (rapidly accessible) blocks used in this matrix.  **Ref**\< **SCMatrixSubblockIter** \> **all\_blocks** (SCMatrixSubblockIter::Access)\
 Returns iterators for the all blocks used in this matrix.

### Friends

class **LocalSCMatrix**\
 class **LocalSymmSCMatrix**\
 class **LocalSCVector**\

### Additional Inherited Members

## Member Function Documentation

### void sc::LocalDiagSCMatrix::accumulate (const DiagSCMatrix \* m)` [virtual]`

Sum m into this.

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::accumulate\_element (int, double)` [virtual]`

Implements **sc::DiagSCMatrix**.

### Ref\< SCMatrixSubblockIter \> sc::LocalDiagSCMatrix::all\_blocks (SCMatrixSubblockIter::Access)` [virtual]`

Returns iterators for the all blocks used in this matrix.

Implements **sc::DiagSCMatrix**.

### double sc::LocalDiagSCMatrix::determ\_this ()` [virtual]`

Return the determinant of this. this is overwritten.

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::element\_op (const Ref\< SCElementOp \> &)` [virtual]`

Perform the element operation op on each element of this.

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::element\_op (const Ref\< SCElementOp2 \> &, DiagSCMatrix \*)` [virtual]`

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::element\_op (const Ref\< SCElementOp3 \> &, DiagSCMatrix \*, DiagSCMatrix \*)` [virtual]`

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::gen\_invert\_this ()` [virtual]`

Do a generalized inversion of this.

Implements **sc::DiagSCMatrix**.

### double sc::LocalDiagSCMatrix::get\_element (int) const` [virtual]`

Return or modify an element.

Implements **sc::DiagSCMatrix**.

### double sc::LocalDiagSCMatrix::invert\_this ()` [virtual]`

Invert this.

Implements **sc::DiagSCMatrix**.

### Ref\< SCMatrixSubblockIter \> sc::LocalDiagSCMatrix::local\_blocks (SCMatrixSubblockIter::Access)` [virtual]`

Returns iterators for the local (rapidly accessible) blocks used in this matrix.

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::set\_element (int, double)` [virtual]`

Implements **sc::DiagSCMatrix**.

### double sc::LocalDiagSCMatrix::trace ()` [virtual]`

Return the trace.

Implements **sc::DiagSCMatrix**.

### void sc::LocalDiagSCMatrix::vprint (const char \* title = `0`, std::ostream & out = ExEnv::out0`()`, int = `10`) const` [virtual]`

Reimplemented from **sc::DiagSCMatrix**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
