Laplace/Poisson using FD
Let me continue with html
"Assembly"
Decide a numbering scheme
-----------------------------
| | | | | |
-----13----14----15----16----
| | | | | |
-----9-----10----11----12---- Classical numbering,
| | | | | | here n=5
-----5-----6-----7-----8-----
| | | | | |
-----1-----2-----3-----4-----
| | | | | |
-----------------------------
This leads to a block tridiagonal matrix of the form
> A=band([-I,B,-I],4);
[B -I 0 0 ]
[ ]
[-I B -I 0 ]
A = [ ]
[0 -I B -I]
[ ]
[0 0 -I B ]
where
> B=band([1,-4,1],4);
[-4 1 0 0]
[ ]
[ 1 -4 1 0]
B = [ ]
[ 0 1 -4 1]
[ ]
[ 0 0 1 -4]
and I is the 4 x 4 identity matrix.
In other words
> A=lapmatr(4);
[-4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[0 , 0 , 1 , -4 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[1 , 0 , 0 , 0 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0]
[ ]
[0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0]
[ ]
[0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0]
[ ]
[0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , -4 , 1 , 0 , 0 , 1 , 0 , 0 , 0]
[ ]
[0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0 , 0]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0 , 0 , 1 , 0]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 0 , 0 , 0 , 1]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , -4 , 1 , 0 , 0]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1 , 0]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4 , 1]
[ ]
[0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , -4]
Here we used the procedure lapmatr, to be found also in
/p/edu/mat-1.192/maple/nslib98.mpl
> lapmatr:=proc(p)
> local B,C,v;
> B:=band([1,-4,1],p);
> C:=diag(seq(B,i=1..p));
> v:=vector(2*p+1,0);
> v[1]:=1;v[2*p+1]:=1;
> evalm(C+band(v,p^2))
> end:
Dirichlet boundary conditions, assembly of RHS