def test_lapack_dgtsvx():
    BB2 = np.array((B,))
    BB2 = matrix_solvers.dgtsvx(dl,d,du,BB2)
    #print "dgesv  :", BB[0]

def test_lapack_tridiagonal():
    BB2 = np.array((B,))
    BB2 = matrix_solvers.tridiagonal_solve(dl,d,du,BB2)
    #print "dgtsvx :", BB[0]

def test_lapack_dgtsvx():
    BB2 = np.array((B,))
    BB2 = matrix_solvers.dgtsvx(dl,d,du,BB2)
    #print "dgtsvx :", BB[0]

if __name__ == '__main__':
    n = 8
    dl = np.ones(n-1, dtype=np.float64)-2.0
    d  = np.ones(n, dtype=np.float64)+2.0
    du = np.ones(n-1, dtype=np.float64)-2.0
    A = np.diag(d) + \
        np.diag(du, k=1) + \
        np.diag(dl, k=-1)
    B = np.arange(n, dtype=np.float64)
    BB = np.array((B,B)).transpose()
    X = solve(A,BB)
    print 'scipy :', X
    
    L = matrix_solvers.dgtsvx(dl,d,du,BB.transpose())
    print 'dgtsvx:', L