Wrong result is coming using Jacobian Linear Solver

User 1036 | 12/8/2014, 6:11:31 AM

I am using iterative solver using jacobian method in graphlab(in file jacobi.cpp) for one of my project .I have two questions to ask as per below : 1)First i am giving input but the results are not coming good .

Say i am giving input A as 1 1 1.0000 1 2 2.0000 1 3 3.0000 2 1 1.0000 2 2 1.0000 2 3 2.0000 3 1 3.0000 3 2 2.0000 3 3 1.0000

vec B as 11.0000 8.0000 3.0000

The results are coming 1 -3667558 2 -2524893 3 -3903750 which is clearly not what i am looking for. I am giving the following command :smile: ./jacobi --matrix=jacobitestA/ --initialvec=vecB --rows=3 --cols=3 --debug=1 --max_iter=10 Can u please suggest am i doing any mistake or what should I do to get the correct results .I have tried to increase and decrease the iteration but i am getting the same result .

2)If I does not given any values will it take as default 0 or i have to mention it . For example say i have 3*3 matrix in which the value of 2 1 is 0.Do i have to mention this value in my input matrix or i can just skip it assuming the the file linear solver will take automatically.


User 6 | 12/8/2014, 7:10:59 AM

Hi 1) Jacobi is an iterative algorithm which is not guaranteed to always converge. You need some conditions to hold for it to work, for example when the matrix is <a href="http://forum.graphlab.com/discussion/731/wrong-result-is-coming-using-jacobian-linear-solver">diagonally dominant</a>. Try to increase the diagonal of your matrix so the values will be bigger than the sum of the row. 2) We assume sparse format, namely any zeros in the matrix should not be specified.