spttrf


NAME

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


SYNOPSIS

  SUBROUTINE SPTTRF( N, DIAG, OFFD, INFO)
  INTEGER N, INFO
  REAL DIAG(*), OFFD(*)
 
  SUBROUTINE SPTTRF_64( N, DIAG, OFFD, INFO)
  INTEGER*8 N, INFO
  REAL DIAG(*), OFFD(*)
 

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

void spttrf(int n, float *diag, float *offd, int *info);

void spttrf_64(long n, float *diag, float *offd, long *info);


PURPOSE

spttrf 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)