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

# sc\_DistSCVector(3)

## NAME

sc::DistSCVector

## SYNOPSIS

Inherits **sc::SCVector**.

### Public Member Functions

**DistSCVector** (const **RefSCDimension** &, **DistSCMatrixKit** \*)\
 void **assign\_p** (const double \*)\
 void **assign\_v** (**SCVector** \*a)\
 void **convert** (double \*v) const\
 Assign v\[i\] to element i for all i.  void **convert** (**SCVector** \*)\
 Convert an **SCVector** of a different specialization to this specialization and possibly accumulate the data.  void **set\_element** (int, double)\
 Set element i to val.  void **accumulate\_element** (int, double)\
 Add val to element i.  double **get\_element** (int) const\
 Return the value of element i.  void **accumulate** (const **SCVector** \*)\
 Sum v into this.  void **accumulate** (const **SCMatrix** \*m)\
 Sum m into this. One of m's dimensions must be 1.  double **scalar\_product** (**SCVector** \*)\
 Return the dot product.  void **accumulate\_product\_rv** (**SCMatrix** \*, **SCVector** \*)\
 void **element\_op** (const **Ref**\< **SCElementOp** \> &)\
 Perform the element operation op on each element of this.  void **element\_op** (const **Ref**\< **SCElementOp2** \> &, **SCVector** \*)\
 void **element\_op** (const **Ref**\< **SCElementOp3** \> &, **SCVector** \*, **SCVector** \*)\
 void **vprint** (const char \*title=0, std::ostream &out=**ExEnv::out0**(), int=10) const\
 **Ref**\< **SCMatrixSubblockIter** \> **local\_blocks** (SCMatrixSubblockIter::Access)\
 Returns iterators for the local (rapidly accessible) blocks used in this vector.  **Ref**\< **SCMatrixSubblockIter** \> **all\_blocks** (SCMatrixSubblockIter::Access)\
 Returns iterators for the all blocks used in this vector.  **Ref**\< **DistSCMatrixKit** \> **skit** ()\

### Protected Member Functions

void **init\_blocklist** ()\
 double \* **find\_element** (int i) const\
 int **element\_to\_node** (int i) const\
 int **block\_to\_node** (int) const\
 **Ref**\< **SCMatrixBlock** \> **block\_to\_block** (int) const\
 void **error** (const char \*)\

### Protected Attributes

**Ref**\< **SCMatrixBlockList** \> **blocklist**\

### Friends

class **DistSCMatrix**\
 class **DistSymmSCMatrix**\
 class **DistDiagSCMatrix**\

## Member Function Documentation

### void sc::DistSCVector::accumulate (const SCMatrix \* m)` [virtual]`

Sum m into this. One of m's dimensions must be 1.

Implements **sc::SCVector**.

### void sc::DistSCVector::accumulate (const SCVector \* v)` [virtual]`

Sum v into this.

Implements **sc::SCVector**.

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

Add val to element i.

Implements **sc::SCVector**.

### void sc::DistSCVector::accumulate\_product\_rv (SCMatrix \*, SCVector \*)` [virtual]`

Implements **sc::SCVector**.

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

Returns iterators for the all blocks used in this vector.

Implements **sc::SCVector**.

### void sc::DistSCVector::assign\_p (const double \*)` [virtual]`

Reimplemented from **sc::SCVector**.

### void sc::DistSCVector::assign\_v (SCVector \* a)` [virtual]`

Reimplemented from **sc::SCVector**.

### void sc::DistSCVector::convert (double \* v) const` [virtual]`

Assign v\[i\] to element i for all i.

Reimplemented from **sc::SCVector**.

### void sc::DistSCVector::convert (SCVector \*)` [virtual]`

Convert an **SCVector** of a different specialization to this specialization and possibly accumulate the data.

Reimplemented from **sc::SCVector**.

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

Perform the element operation op on each element of this.

Implements **sc::SCVector**.

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

Implements **sc::SCVector**.

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

Implements **sc::SCVector**.

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

Return the value of element i.

Implements **sc::SCVector**.

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

Returns iterators for the local (rapidly accessible) blocks used in this vector. Only one iterator is allowed for a matrix is it has Accum or Write access is allowed. Multiple Read iterators are permitted.

Implements **sc::SCVector**.

### double sc::DistSCVector::scalar\_product (SCVector \*)` [virtual]`

Return the dot product.

Implements **sc::SCVector**.

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

Set element i to val.

Implements **sc::SCVector**.

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

Implements **sc::SCVector**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
