RSS    

   Реферат: СИНГУЛЯРНОЕ РАЗЛОЖЕНИЕ В ЛИНЕЙНОЙ ЗАДАЧЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ

                H=F*G-S

                U(I,L)=F-G

                DO 240 K=L,N

240         RV1(K)=U(I,K)/H

                IF(I.EQ.M) GO TO 270

                DO 260 J=L,M

                S=0.0

                DO 250 K=L,N

250         S=S+U(J,K)*U(I,K)

                DO 260 K=L,N

                U(J,K)=U(J,K)+S*RV1(K)

260         CONTINUE

270         DO 280 K=L,N

280         U(I,K)=SCALE*U(I,K)

290         ANORM=AMAX1(ANORM,ABS(W(I))+ABS(RV1(I)))

300         CONTINUE

                IF(.NOT.MATV) GO TO 410

                DO 400 II=1,N

                I=N+1-II

                IF(I.EQ.N) GO TO 390

                IF(G.EQ.0.0) GO TO 360

                DO 320 J=L,N

320         V(J,I)=(U(I,J)/U(I,L))/G

                DO 350 J=L,N

                S=0.0

                DO 340 K=L,N

340         S=S+U(I,K)*V(K,J)

                DO 350 K=L,N

                V(K,J)=V(K,J)+S*V(K,I)

350         CONTINUE

360         DO 380 J=L,N

                V(I,J)=0.0

                V(J,I)=0.0

380         CONTINUE

390         V(I,I)=1.0

                G=RV1(I)

                L=I

400         CONTINUE

410         IF(.NOT.MATU) GO TO 510

                MN=N

                IF(M.LT.N) MN=M

                DO 500 II=1,MN

                I=MN+1-II

                L=I+1

                G=W(I)

                IF(I.EQ.N) GO TO 430

                DO 420 J=L,N

420         U(I,J)=0.0

430         IF(G.EQ.0.0) GO TO 475

                IF(I.EQ.MN) GO TO 460

                DO 450 J=L,N

                S=0.0

                DO 440 K=L,M

440         S=S+U(K,I)*U(K,J)

                F=(S/U(I,I))/G

                DO 450 K=I,M

                U(K,J)=U(K,J)+F*U(K,I)

450         CONTINUE

460         DO 470 J=I,M

470         U(J,I)=U(J,I)/G

                GO TO 490

475         DO 480 J=I,M

480         U(J,I)=0.0

490         U(I,I)=U(I,I)+1.0

500         CONTINUE

510         DO 700 KK=1,N

                K1=N-KK

                K=K1+1

                ITS=0

520         DO 530 LL=1,K

                L1=K-LL

                L=L1+1

                IF(ABS(RV1(L))+ANORM.EQ.ANORM) GO TO 565

                IF(ABS(W(L1))+ANORM.EQ.ANORM) GO TO 540

530         CONTINUE

540         C=0.0

        S=1.0

        DO 560 I=L,K

                F=S*RV1(I)

                RV1(I)=C*RV1(I)

                IF(ABS(F)+ANORM.EQ.ANORM) GO TO 565

                G=W(I)

                H=SQRT(F*F+G*G)

                W(I)=H

                C=G/H

                S=-F/H

                IF(.NOT.MATU) GO TO 560

                DO 550 J=1,M

                Y=U(J,L1)

                Z=U(J,I)

                U(J,L1)=Y*C+Z*S

                U(J,I)=-Y*S+Z*C

550         CONTINUE

560         CONTINUE

565         Z=W(K)

                IF(L.EQ.K) GO TO 650

                IF(ITS.EQ.30) GO TO 1000

                ITS=ITS+1

                X=W(L)

                Y=W(K1)

                G=RV1(K1)

                H=RV1(K)

                F=((Y-Z)*(Y+Z)+(G-H)*(G+H))/(2.0*H*Y)

                G=SQRT(F*F+1.0)

                F=((X-Z)*(X+Z)+H*(Y/(F+SIGN(G,F))-H))/X

                C=1.0

                S=1.0

                DO 600 I1=L,K1

                I=I1+1

                G=RV1(I)

                Y=W(I)

                H=S*G

                G=C*G

                Z=SQRT(F*F+H*H)

                RV1(I1)=Z

                C=F/Z

                S=H/Z

                F=X*C+G*S

                G=-X*S+G*C

                H=Y*S

                Y=Y*C

                IF(.NOT.MATV) GO TO 575

                DO 570 J=1,N

                X=V(J,I1)

                Z=V(J,I)

                V(J,I1)=X*C+Z*S

                V(J,I)=-X*S+Z*C

570         CONTINUE

575         Z=SQRT(F*F+H*H)

                W(I1)=Z

                IF(Z.EQ.0.0) GO TO 580

                C=F/Z

                S=H/Z

580         F=C*G+S*Y

                X=-S*G+C*Y

        IF(.NOT.MATU) GO TO 600

                DO 590 J=1,M

                Y=U(J,I1)

                Z=U(J,I)

                U(J,I1)=Y*C+Z*S

                U(J,I)=-Y*S+Z*C

590         CONTINUE

600         CONTINUE

        RV1(L)=0.0

                RV1(K)=F

                W(K)=X

                GO TO 520

650         IF(Z.GE.0.0) GO TO 700

                W(K)=-Z

                IF(.NOT.MATV) GO TO 700

                DO 690 J=1,N

690         V(J,K)=-V(J,K)

700         CONTINUE

                GO TO 1001

1000      IERR=K

1001      RETURN

                E N D

ПРИЛОЖЕНИЕ 2. контрольный пример

Входные данные

(матрица изначально сингулярна – первая строка равна сумме второй и третьей с обратным знаком)

3    3    3

   .3200000E 02   .1400000E 02   .7400000E 02

 -0.2400000E 02 -0.1000000E 02 -0.5700000E 02

 -0.8000000E 01 -0.4000000E 01 -0.1700000E 02

 -0.1400000E 02  0.1300000E 02  0.1000000E 01

Полученный результат

МАТРИЦА А

   .3200000E+02   .1400000E+02   .7400000E+02

  -.2400000E+02  -.1000000E+02  -.5700000E+02

  -.8000000E+01  -.4000000E+01  -.1700000E+02

ПРАВЫЕ ЧАСТИ

  -.1400000E+02   .1300000E+02   .1000000E+01

СИНГУЛЯРНЫЕ ЧИСЛА

   .1048255E+03

   .7310871E-06

   .1271749E+01

ЧИСЛО ОБУСЛОВЛЕННОСТИ=   .1433830E+09

  Корни

   .1215394E+01   .1821742E+01  -.1059419E+01

  Правые корни после проверки

  -.1400000E+02   .1300000E+02   .1000001E+01

Видно, что правые части соответствуют начальным данным. Решение верно.


[1] Матрица А эрмитова  если она совпадает со своей комплексно сопряженной .

[2] Матрица А унитарная  если , где  – сопряженная матрица.

[3] Сингулярным разложением произвольной m´n–матрицы называется разложение вида , где U и V – ортогональные матрицы, а S – диагональная матрица с неотрицательными диагональными элементами. Диагональные элементы S (, i=1,...,k, где k=min(m,n)) называются сингулярными числами А. Это множество чисел однозначно определяется матрицей А. Число ненулевых сингулярных чисел равно рангу А.

[4] Симметричная матрица положительно определена, если все ее собственные значения положительны. Положительно определенная матрица P обладает также тем свойством, что  для всех .

[5] Симметричная матрица неотрицательно определена, если все ее собственные значения неотрицательны. Такая матрица P обладает также тем свойством, что  для всех . Для произвольной mxn–матрицы А матрица  симметрична и неотрицательно определена. Она положительно определена, если rankA=n.

[6] Обратной матрицей  для квадратной невырожденной матрицы А называется такая матрица, для которой .

[7] Матрица перестановки - это квадратная матрица, столбцы которой получаются перестановкой столбцов единичной матрицы. Матрица перестановки ортогональна.

[8] Матрица А хессенбергова (верхняя хессенбергова) если  для j<i–1 (сохраняется одна диагональ ниже главной диагонали). Если матрица симметричная то хессенбергова матрица становится трехдиагональной.

[9] Симметричная матрица А есть трехдиагональная при  для |i-j|>1. Трехдиагональная матрица – это частный случай хесенберговой матрицы.


Страницы: 1, 2, 3, 4, 5, 6, 7, 8


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.