p?latra

Computes the trace of a general square distributed matrix.

Syntax

Fortran:

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)

C:

float pslatra (MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

double pdlatra (MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

void pclatra (MKL_Complex8 * , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

void pzlatra (MKL_Complex16 * , MKL_INT *n , MKL_Complex16 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

Include Files

  • C: mkl_scalapack.h

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 size(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 size (dlen_). The array descriptor for the distributed matrix A.

Output Parameters

val

The value returned by the fuction.

For more complete information about compiler optimizations, see our Optimization Notice.