IBM Books

Parallel Engineering and Scientific Subroutine Library for AIX Version 2 Release 3: Guide and Reference

PSPFREE--Deallocates Space for a General Sparse Matrix

This sparse utility subroutine deallocates space that is used for a global general sparse matrix A or a preconditioner data structure prcs.

Syntax

Fortran CALL PSPFREE (a, desc_a)

CALL PSPFREE (prcs, desc_a)

On Entry

a
is the general sparse matrix A.

Scope: local

Type: required

Specified as: the derived data type D_SPMAT.

prcs
is the preconditioner data structure prcs.

Scope: local

Type: required

Specified as: the derived data type D_PRECN.

desc_a
is the array descriptor for the sparse matrix A.

Type: required

Specified as: the derived data type DESC_TYPE.

Notes and Coding Rules
  1. Before you call this subroutine to deallocate the sparse matrix A, you must have called PSPALL.

    Before you call this subroutine to deallocate the preconditioner data structure prcs, you must have called PSPGPR.

  2. You must deallocate b, x, sparse matrix A, and preconditioner data structure prcs before you deallocate the array descriptor desc_a.
  3. PSPGPR allocates components of prcs as necessary. Prior to further calls to PSPGPR with the same prcs you must call PSPFREE; otherwise, there will be a memory leak.
  4. PSPALL allocates matrix A as necessary. Prior to further calls to PSPALL with the same matrix A, you must call PSPFREE; otherwise, there will be a memory leak.

Error Conditions

Computational Errors

None

Resource Errors

None.

Input-Argument and Miscellaneous Errors

Stage 1 

  1. desc_a has not been initialized.

Stage 2 

  1. The BLACS context is invalid.

Stage 3 

  1. This subroutine was called from outside the process grid.

Stage 4 

  1. The process grid is not np × 1.
  2. The preconditioner data structure prcs is not valid.
  3. The pointer components of A or prcs are not associated and therefore cannot be deallocated.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]