Solving a Tridiagonal System of Equations

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 2K views
just physics
Messages
4
Reaction score
0
we have to write a code to solve system of equations by writing them in matricies (tridiagonal matrix) form ...
the first step is to enter the coefficients of the variables (r1,r2,r3,...) and then the answers to the equations (b1,b2,b3,...) by using array , and print the equations in the form:
r1X1+r2X2=b1
r1X1+r2X2+r3X3=b2
i made the code and i get the answers but i have to insert a code to check the answers that i get i.e: if x1=1 ,x2=6 ,r1=1,r2=2,b1=13
then the program print
1*1+2*6=13
i can't make this step can any1 help me please :(
 
Last edited:
Physics news on Phys.org
You have solved Ax=b where you have the 9 members of matrix A, three members of vector b and the the three roots making up vector x.

Write a code that multiplies matrix A (which you'll have to populate with appropriate numbers) by roots x and compare to vector b. The multiplication can be done with two nested do loops such as

do 2 i=1,3
p=0.0
do 1 j=1,3
p=p+a(i,j)*x(j)
1 continue
q=b(i)-p
write(6,100)i,q
2 continue
100 format(1i5,1f10.5)

If q is zero or some very small number, then you've solved it correctly. I am assuming you can use dimension statements correctly.