102 SUBROUTINE slasdt( N, LVL, ND, INODE, NDIML, NDIMR, MSUB )
109 INTEGER LVL, MSUB, N, ND
112 INTEGER INODE( * ), NDIML( * ), NDIMR( * )
119 parameter( two = 2.0e+0 )
122 INTEGER I, IL, IR, LLST, MAXN, NCRNT, NLVL
126 INTRINSIC int, log, max, real
133 temp = log( real( maxn ) / real( msub+1 ) ) / log( two )
134 lvl = int( temp ) + 1
139 ndimr( 1 ) = n - i - 1
143 DO 20 nlvl = 1, lvl - 1
148 DO 10 i = 0, llst - 1
152 ndiml( il ) = ndiml( ncrnt ) / 2
153 ndimr( il ) = ndiml( ncrnt ) - ndiml( il ) - 1
154 inode( il ) = inode( ncrnt ) - ndimr( il ) - 1
155 ndiml( ir ) = ndimr( ncrnt ) / 2
156 ndimr( ir ) = ndimr( ncrnt ) - ndiml( ir ) - 1
157 inode( ir ) = inode( ncrnt ) + ndiml( ir ) + 1
subroutine slasdt(n, lvl, nd, inode, ndiml, ndimr, msub)
SLASDT creates a tree of subproblems for bidiagonal divide and conquer. Used by sbdsdc.