# integer lda double complex tgslz cal

## Found at: ftp.icm.edu.pl:70/packages/netlib/toeplitz/tgslz.f

```      subroutine tgslz(a,x,r,m,l,lda)
```
```      integer m,l,lda
```
```      double complex a(lda,1),x(m,l),r(1)
```
```c
```
```c     tgslz calls tgslz1 to solve the double complex linear system
```
```c     a * x = b
```
```c     with the tg - matrix a .
```
```c
```
```c     on entry
```
```c
```
```c        a       double complex(m**2,2*l - 1)
```
```c                the first row of blocks of the tg - matrix
```
```c                followed by its first column of blocks beginning
```
```c                with the second block. each block is represented
```
```c                by columns. on return a is unaltered .
```
```c
```
```c        x       double complex(m*l)
```
```c                the right hand side vector b .
```
```c
```
```c        r       double complex(m**2*(2*l + 3) + m)
```
```c                a work vector .
```
```c
```
```c        m       integer
```
```c                the order of the blocks of the matrix a .
```
```c
```
```c        l       integer
```
```c                the number of blocks in a row or column
```
```c                of the matrix a .
```
```c
```
```c        lda     integer
```
```c                the leading dimension of the array a .
```
```c
```
```c     on return
```
```c
```
```c        x       the solution vector .
```
```c
```
```c     toeplitz package. this version dated 07/23/82 .
```
```c
```
```c     subroutines and functions
```
```c
```
```c        toeplitz package ... tgslz1
```
```c
```
```c     internal variables
```
```c
```
```      integer mm,mml,mml1,mml2,mml3,mml4,mml5,mml6
```
```c
```
```c     call subroutine tgslz1
```
```c
```
```      mm = m**2
```
```      mml = mm*(l - 1) + 1
```
```      mml1 = 2*mml - 1
```
```      mml2 = mml1 + mm
```
```      mml3 = mml2 + mm
```
```      mml4 = mml3 + mm
```
```      mml5 = mml4 + mm
```
```      mml6 = mml5 + mm
```
```c
```
```      call tgslz1(a,a(1,l+1),x,x,r,r(mml),r(mml1),r(mml2),
```
```     *            r(mml3),r(mml4),r(mml5),r(mml6),m,l,lda)
```
```c
```
```      return
```
```      end
```

```.
```