19void Solv_TDMA::resoudre(
const DoubleVect& ma,
const DoubleVect& mb,
const DoubleVect& mc,
const DoubleVect& sm, DoubleVect& vi,
int M)
21 DoubleVect malpha, mbeta;
48 mbeta(0) = mc(0)/ma(0);
50 for (i = 1 ; i<M-1 ; i++)
52 malpha(i) = ma(i) - mb(i-1)*mbeta(i-1);
53 mbeta(i) = mc(i)/malpha(i);
55 malpha(M-1) = ma(M-1) - mb(M-2)*mbeta(M-2);
59 my(0) = sm(0)/malpha(0);
61 for (i = 1 ; i<M ; i++)
62 my(i) = (sm(i)-mb(i-1)*my(i-1))/malpha(i);
68 for (i = M-2 ; i>=0 ; i--)
69 vi(i) = my(i) - mbeta(i)*vi(i+1);
static void resoudre(const DoubleVect &ma, const DoubleVect &mb, const DoubleVect &mc, const DoubleVect &sm, DoubleVect &vi, int M)