# p?latra

Computes the trace of a general square distributed matrix.

## Syntax

val = pslatra(n, a, ia, ja, desca)

val = pdlatra(n, a, ia, ja, desca)

val = pclatra(n, a, ia, ja, desca)

val = pzlatra(n, a, ia, ja, desca)

## Description

This function computes the trace of an n-by-n distributed matrix sub(A) denoting `A(ia:ia+n-1`, `ja:ja+n-1)`. The result is left on every process of the grid.

## Input Parameters

n

  (global) INTEGER.

  The number of rows and columns to be operated on, that is, the order of the distributed submatrix sub(A). `n ≥0`.

a

  (local).

  Real for pslatra

  DOUBLE PRECISION for pdlatra

  COMPLEX for pclatra

  COMPLEX*16 for pzlatra.

  Pointer into the local memory to an array of DIMENSION`(lld_a, LOCc(ja+n-1))` containing the local pieces of the distributed matrix, the trace of which is to be computed.

ia, ja

  (global) INTEGER. The row and column indices respectively in the global array A indicating the first row and the first column of the submatrix sub(A), respectively.

desca

  (global and local) INTEGER array of DIMENSION (dlen_). The array descriptor for the distributed matrix A.

## Output Parameters

val

  The value returned by the fuction.

Parent topic: Auxiliary Routines