NAME

cgttrf - compute an LU factorization of a complex tridiagonal matrix A using elimination with partial pivoting and row interchanges


SYNOPSIS

  SUBROUTINE CGTTRF( N, LOW, DIAG, UP1, UP2, IPIVOT, INFO)
  COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*)
  INTEGER N, INFO
  INTEGER IPIVOT(*)
  SUBROUTINE CGTTRF_64( N, LOW, DIAG, UP1, UP2, IPIVOT, INFO)
  COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*)
  INTEGER*8 N, INFO
  INTEGER*8 IPIVOT(*)

F95 INTERFACE

  SUBROUTINE GTTRF( [N], LOW, DIAG, UP1, UP2, IPIVOT, [INFO])
  COMPLEX, DIMENSION(:) :: LOW, DIAG, UP1, UP2
  INTEGER :: N, INFO
  INTEGER, DIMENSION(:) :: IPIVOT
  SUBROUTINE GTTRF_64( [N], LOW, DIAG, UP1, UP2, IPIVOT, [INFO])
  COMPLEX, DIMENSION(:) :: LOW, DIAG, UP1, UP2
  INTEGER(8) :: N, INFO
  INTEGER(8), DIMENSION(:) :: IPIVOT

C INTERFACE

#include <sunperf.h>

void cgttrf(int n, complex *low, complex *diag, complex *up1, complex *up2, int *ipivot, int *info);

void cgttrf_64(long n, complex *low, complex *diag, complex *up1, complex *up2, long *ipivot, long *info);


PURPOSE

cgttrf computes an LU factorization of a complex tridiagonal matrix A using elimination with partial pivoting and row interchanges.

The factorization has the form

   A = L * U

where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two superdiagonals.


ARGUMENTS