0
$\begingroup$

I working to speedup calls to LAPACK dgtsv for a specific case, where the the coefficients lines have 2 blocks of repeated coefficients and 3 distinct lines (first, "border" and last)

First line

(c1 u1 0... )

N1 identical rows on the diagonal

(l2 d2 u2 0... )
(0 l2 d2 u2 0... )
(0 0 l2 d2 u2 0...)
... Additional lines with l2/d2/u2 on the diagonal

One line "Border"

(0 0 0 0 0 ... l3 d3 u3 0...)

N2 identical rows of the diagonal

(0 0 0 0 0 ... 0 l4 d4 u4 0...)
(0 0 0 0 0 0 ... 0 l4 d4 u4 0...)
(0 0 0 0 0 0 0 ... 0 l4 c4 u4 0...)
.. Additional lines with l4/c4/u4 on the diagonal ...

Final line (line N1+N2+3)

(0 0 0 0 0 0 0 0 0 0 0 ... l5 c5 )

typical values for N1 and N2 are 500 to 1000.

I wonder if there is a specific, faster solution for this form. I can modify the original LAPACK Fortran code, or the C version from clapack

Thanks, Yair

$\endgroup$

0

You must log in to answer this question.

Browse other questions tagged .