subroutine tgsld(a,x,r,m,l,lda) integer m,l,lda double precision a(lda,1),x(m,l),r(1) c c tgsld calls tgsld1 to solve the double precision linear system c a * x = b c with the tg - matrix a . c c on entry c c a double precision(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 precision(m*l) c the right hand side vector b . c c r double precision(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 ... tgsld1 c c internal variables c integer mm,mml,mml1,mml2,mml3,mml4,mml5,mml6 c c call subroutine tgsld1 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 tgsld1(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