The equation for a steady state, one dimensional heat transfer problem is Applying the finite difference method for this equation we get This equation can be rewritten as Imagine that we want to find the steady state temperature distribution in a large wall with 1 meter of thickness, submited to a prescribed temperature of 100C   on its left face and 0C on its right face.

Consider the following grid for this problem. Therefore, for the point P1 we have this equation For the remaining points Putting all in a matrix form, and letting \$latex T_{0}=100C\$ and \$latex T_{5}=0C\$ Here is the python code to solve this problem

```import numpy as np
from scipy.linalg import solve_banded

def SolveBanded(A, D):
# Find the diagonals
ud = np.insert(np.diag(A,1), 0, 0) # upper diagonal
d = np.diag(A) # main diagonal
ld = np.insert(np.diag(A,-1), len(d)-1, 0) # lower diagonal

# simplified matrix
ab = np.matrix([
ud,
d,
ld,
])

return solve_banded((1, 1), ab, D )

if __name__ == "__main__":
A = np.array([
[-2,  1,  0,  0],
[ 1, -2,  1,  0],
[ 0,  1, -2,  1],
[ 0,  0,  1, -2]
])
D = np.array([-100, 0, 0, 0])
print "SciPy - 1D Conduction"
print "A:", A
print "D:", D
print "Result:", SolveBanded(A, D)
```

The output for this code is

```SciPy - 1D Conduction
A: [[-2 1 0 0]
[ 1 -2 1 0]
[ 0 1 -2 1]
[ 0 0 1 -2]]
D: [-100 0 0 0]
Result: [ 80. 60. 40. 20.]
```

That is \$latex T_{1}=80C\$, \$latex T_{2}=60C\$, \$latex T_{3}=40C\$ and \$latex T_{2}=20C\$.

This result agrees with the analytical solution for this problem applied for the positions \$latex P_{1}=0.2m\$, \$latex P_{2}=0.4m\$ and so on.