You are on page 1of 6

I (24 .

2008, 12-3)
1. ) - : BLAS-2 BLAS-3.
. : BLAS-3 ...
BLAS . ,

, BLAS-3 ( Mflops).
) - : ...
. ,
.
) MATLAB M + 20 10 M , M + 20 M 10, M 10 M + 20.
M realmax.
. realmax ... 1. 21023
10 20 .
((M + 20) 10) M = (M 10) M = M M = 0,
((M + 20) M ) 10 = (M M ) 10 = 10, ((M 10) M ) + 20 = (M M ) + 20 = 20.
) A Rnn , b Rn [L, U ] =
lu(A); x = U \(L\b) ( MATLAB LAPACK).
x ;
. LU ,
,
. ( .) < ( .) ( . A).
2. ... .
:
) , .
) ... ,
.
) , .
)
,
.
. ) ,
( .) ) ,
. )
,

.
. ) : (1+1 )(12 ) = 1 +2
j .
.
3. A R10m b Rm , c R10 y c + Ab.
n . ) min ; )
= min
O(1) (. m).
. ) ... / , 10m A, m + 10 c, b, 10

y , . min = 11m + 20. ) . ,


cache O(1). temp
10.
1.
2.
3.
4.
5.
6.
7.
8.
9.

LOAD c
for j = 1 : m
LOAD b(j)
for i = 1 : 10
LOAD A(i, j)

temp(i) = c(i) + A(i, j) b(j)


end
end
STORE y = temp

4. ) MATLAB n=3:

for j=1:n, A = kron(ones(j,1),[1:j]), end


.

A=1


1 2
A=
1 2

1 2 3
A= 1 2 3
1 2 3
kron(A,B) Kronecker A B .
) (, ) ( ) Mflop/s
. A RmA nA , B RmB nB
kron(A,B) = mA nA mB nB .
.
Pn for j=1:n, A = kron(ones(j,1),[1:j]),
end. j=1 j 2 .
, .

%
tic; for j=1:itmax, ; end;
optime = toc/itmax; ops = 0;
for j=1:itmax, ops = ops+j*j; end; mflops = ops*1e-6/toc;
=
5. ) , xy
x y(1 + ) || u, u x, y ,
; , , .
. : ,

(. x y ) ( )
, x y(1 + ) || u.
)
Ax = b (A) := kAkkA1 k . 3 3
(A) x

.
. A, [1, 1, 1e 10],
1e10. , Ax = b,
A, x ,
x
u.

6. ) H Rnn
, . (3 : n, 1), (4 : n, 2), ..., (n, n 1). (
) LU H = n2 + O(n).
.
. k = 1, ...., n 1 ,
( (k + 1, k)).
Pn1
Pn
= k=1 (1 + j=k+1 2) = n(n 1) + O(n) = 1.
():
for k=1:n-1
H(k+1,k) = H(k+1,k)/H(k,k)
for j=k+1:n
H(k+1,k+1:n) = H(k+1,k+1:n) - H(k+1,k)*H(k+1,k+1:n)
end
end

1
0
) A =
0
0

1
2
1
2
1 1
.
3 1
1
4
1
2

Householder () P
, (4, 2) P A B = P AP > .
B ( .) : (
) 0 (3, 2).
. MATLAB, u = [0; 0; A(3 : 4, 2)] + [0, 0, 1, 0]0 norm(A(3 : 4, 2)), u = [0, 0, 8, 4]>

1 1
2
1
0 2
0.2
1.4

B=
0 5 1.88 1.16
0 0 1.16 0.88

) A, (.. hess MATLAB ) Q


Householder, QAQ> .
Q QAQ> 5n3 ...
xj , j = 1, ..., s s (A j I)xj = bj A Rnn
j Aj I I
. s
5n3 + O(sn2 ) O(sn3 ) LU .
.
7. u00 (x)+102 (20u) = 0 [0, 10]
u(0) = 40, u(10) = 200

O(h2 ), h
.
) u(x)
4 [0, 10].
. () Taylor.
, u 4 uj
j ,
(1)

uj1 = uj huj +

h2 (2) h3 (3) h4 (4)


u uj + u (xi + i h)
2 j
6
24

1 < i < 0 < i+ < 1.

uj1 + uj+1 2uj

(2)

= h2 u j +


h4  (4)
u (j + i+ h) + u(4) (j + i h)
24

, 2
(. h) |u(4) |. h ,
(
) . , ,
h .
u(4) , ,
, |u(4) | .
) A R44 b R4 g
Ag = b u .
. [0,10] 4 h =
10/5 = 2 j = jh j = 1, ..., 4.
2 2

u(j1 ) 2u(xj ) + u(j+1 )


+ 20 102 102 u(xj ) = 0
h2

2
1
1
Uj1 ( 2 + 102 )Uj + 2 Uj+1 = 20 102
h2
h
h

1
1
1
Uj1 + ( + 102 )Uj Uj+1 = 20 102
4
2
4

U1
0.51 0.25
0
0
U2
0.25
0.51
0.25
0

0 0.25
0.51 0.25 U3
0
0 0.25
0.51
U4

10.2
0.2

=
0.2
50.2

) u00 (x) + 102 (20 u) (1 + x2 ) = 0.


A b;
. 1 + x2 , :
b = [15.2, 17.2, 37.2, 115.2]> .
) , (. ()
) u(0) = 40
u0 (0) = 2.
2
g = b. : A,
b
, A
.
. u(0)

U1 U1
u0 (0) = 40 U1 = U1 160
2h
U1 u 2. , 0,
.

1
1
1
U1 + ( + 102 )U0 U1 = 20 102
4
2
4
4

1
1
1
(U1 160) + ( + 102 )U0 U1 = 20 102
4
2
4
:

0.51 0.5
0
0
0
0.25
0.51 0.25
0
0
0 0.25
0.51 0.25
0
0
0 0.25
0.51 0.25
0
0
0 0.25
0.51

U0
U1
U2
U3
U4

39.8
0.2
0.2
0.2
50.2

8. u000 (t) = 1000u(t) 300u0 (t) 30u00 (t)


u(0) =
1, u0 (0) = 0, u00 (0) = 1.
) u(1.6)
Euler
h = 0.8.
( : 3
). )
,
h .
. )
( ): u1 (t) := u(t), u0 (t) := u2 (t), u00 (t) := u3 (t)
3 ,

0
u (t)
d 1
0
u2 (t) =
dt
1000
u3 (t)

1
0
u1 (t)
0 1 u2 (t)
300 30
u3 (t)

d
u = Au
dt
u := [u1 , u2 , u3 ]> ( t ). Euler
h = 0.8 U (0) = [1, 0, 1]> , t = 2h

U (2h) = (I hA)((I hA)U (0)) = [1.64, 657.6, 17937]> .


, . u(2h) Euler.
) !
, I hA h .
A 1000 + 300 + 302 + 3 = 0, 1 = 2 = 3 =
10.
h = 0.8 I hA 7 = |1 0.8 10|
. , h 2/ max |j | = 0.5.
) Euler u0 = Au,
,
.
. , O(1/h) .
) Runge-Kutta 2
u0 (t) = f (t, u), :
( - ) tk
u t [tk , tk+1 ).
. , RK tk tk .

Un+1

= Uk + h

s
X
i=1

bi K i

Ki

= f (tn + ci h, Un + h

s
X

aij Kj )

j=1

( - ) Euler.
. ,

:= {z := h||pn (z)| 1}, pn (z) =

s
X
zj
j=0

j!

u0 = u.

You might also like