Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Bài 5 choleski

a,

> n:=3:
> A:= Matrix([[2,-1,0],[-1,2,-1],[0,-1,2]]);
 2 -1 0
 
A := -1 2 -1
 
 0 -1 2
> L:= Matrix(n);
0 0 0
 
L :=  0 0 0
 
0 0 0
> L[1,1] := sqrt(A[1,1]);
L1, 1 := 2

> for j from 2 to n do L[j,1] := A[j,1] / L[1,1] end do;


1
L2, 1 :=  2
2
L3, 1 := 0

> unassign('j');
> for i from 2 to n-1 do L[i,i] := (A[i,i] -
sum('L[i,k]^2',k=1..i-1))^(1/2); for j from i + 1 to n do
L[j,i] := (A[j,i]-sum('L[j,k].B[i,k]',k = 1..i-1))/L[i,i];end do;
end do;
1
L2, 2 := 3 2
2
> unassign('i','j');
> L[n,n] := (A[n,n]-sum('L[n,k]^2',k=1..n-1))^(1/2);
1
L3, 3 := 4 3
3
> L;
 2 0 0 
 
 1 1 
 0 
 2 3 2
 2 2 
 
 
 1 1 
 0  3 2 4 3 
 3 3 
B,

> n:=4:
> A:= Matrix([[4,1,1,1],[1,3,-1,1],[1,-1,2,0],[1,1,0,2]]);
4 1 1 1
 
1 3 -1 1

A :=  

1 -1 2 0
 
1 1 0 2
 
> L:= Matrix(n);
0 0 0 0
 
0 0 0 0
L :=  
0 0 0 0

0 0 0 0

> L[1,1] := sqrt(A[1,1]);
L1, 1 := 2

> for j from 2 to n do L[j,1] := A[j,1] / L[1,1] end do;


1
L2, 1 :=
2
1
L3, 1 :=
2
1
L4, 1 :=
2
> unassign('j');
> for i from 2 to n-1 do L[i,i] := (A[i,i] -
sum('L[i,k]^2',k=1..i-1))^(1/2); for j from i + 1 to n do
L[j,i] := (A[j,i] - sum('L[j,k]*L[i,k]',k = 1..i-1))/L[i,i];end
do; end do;
1
L2, 2 := 11 4
4
1
L3, 3 := 13 11
11
> unassign('i','j');
> L[n,n] := (A[n,n]-sum('L[n,k]^2',k=1..n-1))^(1/2);
1
L4, 4 := 20 13
13
> L;
2 0 0 0 
 
1 1 
 11 4 0 0 
2 
 4 
 
1 
  5 11 4 1 
 13 11 0 
2 44 11 
 
1 
 3 1 1 
 11 4 13 11 20 13 
2 44 143 13 
C,

> n:=4:
> A:= Matrix([[4,1,-1,0],[1,3,-1,0],[-1,-1,5,2],[0,0,2,4]]);
 4 1 -1 0
 
 1 3 -1 0

A :=  

-1 -1 5 2
 
 0 0 2 4
 
> L:= Matrix(n);
0 0 0 0
 
0 0 0 0
L :=  
0 0 0 0

0 0 0 0

> L[1,1] := sqrt(A[1,1]);
L1, 1 := 2

> for j from 2 to n do L[j,1] := A[j,1] / L[1,1] end do;


1
L2, 1 :=
2
-1
L3, 1 :=
2
L4, 1 := 0

> unassign('j');
> for i from 2 to n-1 do L[i,i] := (A[i,i] -
sum('L[i,k]^2',k=1..i-1))^(1/2); for j from i + 1 to n do
L[j,i] := (A[j,i] - sum('L[j,k]*L[i,k]',k = 1..i-1))/L[i,i];end
do; end do;
1
L2, 2 := 11 4
4
1
L3, 3 := 50 11
11
> unassign('i','j');
> L[n,n] := (A[n,n]-sum('L[n,k]^2',k=1..n-1))^(1/2);
1
L4, 4 := 78 25
25
> L;
2 0 0 0 
 
1 1 
 11 4 0 0 
2 
 4 
 
-1 3 1 
  
 11 4 50 11 0 
2 44 11 
 
 
 1 1 
 0 0 50 11 78 25 
 25 25 
D,

> n:=4:
> A:= Matrix([[6,2,1,-1],[2,4,1,0],[1,1,4,-1],[-1,0,-1,3]]);
 6 2 1 -1
 
 2 4 1 0

A :=  

 1 1 4 -1
 
-1 0 -1 3
 
> L:= Matrix(n);
0 0 0 0
 
0 0 0 0
L :=  
0 0 0 0

0 0 0 0

> L[1,1] := sqrt(A[1,1]);
L1, 1 := 6

> for j from 2 to n do L[j,1] := A[j,1] / L[1,1] end do;


1
L2, 1 := 6
3
1
L3, 1 := 6
6
1
L4, 1 :=  6
6
> unassign('j');
> for i from 2 to n-1 do L[i,i] := (A[i,i] -
sum('L[i,k]^2',k=1..i-1))^(1/2); for j from i + 1 to n do
L[j,i] := (A[j,i] - sum('L[j,k]*L[i,k]',k = 1..i-1))/L[i,i];end
do; end do;
1
L2, 2 := 10 3
3
1
L3, 3 := 37 10
10
> unassign('i','j');
> L[n,n] := (A[n,n]-sum('L[n,k]^2',k=1..n-1))^(1/2);
1
L4, 4 := 191 74
74
> L;
 6 0 0 0 
 
1 1 
 
 6 10 3 0 0 
3 3 
 
1 
 1 1 
 
6 6 15
10 3
10
37 10 0 
 
 
 1 1 9 1 
  191 74 
 6 6 30
10 3
370
37 10
74
 

You might also like