diff options
Diffstat (limited to '1332/CH11/EX11.7/11_7.sce')
-rwxr-xr-x | 1332/CH11/EX11.7/11_7.sce | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/1332/CH11/EX11.7/11_7.sce b/1332/CH11/EX11.7/11_7.sce new file mode 100755 index 000000000..4aba85754 --- /dev/null +++ b/1332/CH11/EX11.7/11_7.sce @@ -0,0 +1,49 @@ +//Example 11.7
+//Jacobi's Method
+//Page no. 355
+clc;close;clear;
+
+A=[1,1,1/2;1,1,1/4;1/2,1/4,2];
+C=A;
+V=[sqrt(2),0,1/2;sqrt(2),0,1/4;3/(4*sqrt(2)),-1/(4*sqrt(2)),2]
+S=eye(3,3)
+disp(A,"A =")
+VI=0;
+for i=1:3
+ for j=1:3
+ if(i~=j)
+ VI=VI+A(i,j)^2 //initial off diag norm
+ end
+ end
+end
+VI=sqrt(VI);
+VF=VI*10^-7; //final threshold
+V1=VI/3;
+o=poly(0,"o");
+for i=1:3
+for q=2:3
+ for p=q-1:-1:1
+ if(A(p,q)>V1)
+ a=-A(p,q);
+ b=(A(p,p)-A(q,q))/2
+ if(b~=0)
+ w=b*abs(1/b)*(a/sqrt(a^2+b^2));
+ else
+ w=(a/sqrt(a^2+b^2));
+ end
+ sin0=w/sqrt(2*(1+sqrt(1-w^2)));
+ cos0=sqrt(1-sin0^2)
+ end
+ B(p,p)=A(p,p)*cos0^2+A(q,q)*sin0^2-2*A(p,q)*sin0*cos0
+ B(q,q)=A(p,p)*sin0^2+A(q,q)*cos0^2+2*A(p,q)*sin0*cos0
+ B(p,q)=(A(p,p)-A(q,q))*sin0*cos0+A(p,q)*(cos0^2-sin0^2)
+ S(i,i)=S(i,i)
+ S(i,p)=S(i,p)*cos0-S(i,q)*sin0
+ S(i,q)=S(i,p)*sin0+S(i,q)*cos0
+
+ end
+end
+end
+disp(B,"B =")
+disp(S,"S =")
+printf('\n\n\nComputation error in the solution provided by book')
\ No newline at end of file |