dpttrf


NAME

dpttrf - compute the L*D*L' factorization of a real symmetric positive definite tridiagonal matrix A


SYNOPSIS

  SUBROUTINE DPTTRF( N, DIAG, OFFD, INFO)
  INTEGER N, INFO
  DOUBLE PRECISION DIAG(*), OFFD(*)
 
  SUBROUTINE DPTTRF_64( N, DIAG, OFFD, INFO)
  INTEGER*8 N, INFO
  DOUBLE PRECISION DIAG(*), OFFD(*)
 

F95 INTERFACE

  SUBROUTINE PTTRF( [N], DIAG, OFFD, [INFO])
  INTEGER :: N, INFO
  REAL(8), DIMENSION(:) :: DIAG, OFFD
 
  SUBROUTINE PTTRF_64( [N], DIAG, OFFD, [INFO])
  INTEGER(8) :: N, INFO
  REAL(8), DIMENSION(:) :: DIAG, OFFD
 

C INTERFACE

#include <sunperf.h>

void dpttrf(int n, double *diag, double *offd, int *info);

void dpttrf_64(long n, double *diag, double *offd, long *info);


PURPOSE

dpttrf computes the L*D*L' factorization of a real symmetric positive definite tridiagonal matrix A. The factorization may also be regarded as having the form A = U'*D*U.


ARGUMENTS

* N (input)
The order of the matrix A. N >= 0.

* DIAG (input/output)
On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix DIAG from the L*DIAG*L' factorization of A.

* OFFD (input/output)
On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*DIAG*L' factorization of A. OFFD can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U'*DIAG*U factorization of A.

* INFO (output)