, , , , , . .

 

 

!

 

:

:

 

 

 

?

StudentHelp, , MS Word. , , antiplagiat.ru, etxt.ru advego.ru. StudentHelp , Word .


:


:

: . : 20.10.2012. : 2012. : 15. antiplagiat.ru: < 30%

():




28 , 7 ,7 .

: , , , , , QL-.

: .

: , .

: , .

: .

: .

: . , .






4
1 . 5
2 . 6
2.1 . 6
2.2 . 7
2.3 QL-. 8
3 .
9
3.1 . 9
3.2 . 10
3.3 QL-. 12
4. . 14
4.1 . 14
4.2 . 15
4.3 QL- . 16
18
19




.

, . Ax=lx, . , , , . .
, , , . , , , .
.













1.

1. .
2. , , k k ; k - ; , , .
3. . , .
4. .
5. , .














2. .

1. .

. . , , , . 6-10 , 3n2/5n2 .
. , QL - . . , .
n.
 , :

A->D=VTAV

D , V . D , Ak k->?, V , , ..

V=U0U1U2

, ; .

2. .

A1 An-1. QL - A . A (n x n) (n - 2) . . P,

P = 1 - 2wwT

, w - |w|2 = 1. (, a b abT, aTb). P ,

P2 = (1 2wwT)(1 2wwT) = 1 4wwT + 4w(wTw)wT = 1

, P = P-1. PT = P, PT = P-1, . P

P = 1 - (uuT)/H

H = |u|2/2 u . x - , A. u = x s|x|e1, e1 - [1, 0,...,0]T, s - 1, -1, s .

Px = x - (u(x - s|x|e1)Tx)/H = x - (2u(|x|2 - s|x|x1))/(2|x|2 - 2s|x|x1) = x - u = s|x|e1

, P x, , . A , x, , n - 1 . n - 2 .

3. QL- .

QL- , :

Us(As ksI)=Ls ; As+1=LsUsT+ksI; As+1=UsAsUsT (1)

Us-; Ls- ; ks , 2 2 As. : A

BU=UA (2)

U ; B , U B U. n, n-1,1, (2). , As+1 ,

As+1=UsAsUsT (3)

Us - , Us Us (1) Us= Us As+1=As+1. Qs n-1

Us = E1(s)E2(s)En-1(s)

Ei(S) (i, i+1). , Us En-1(s). Us, (3), E1(s), E2(s) ,, En-2(s), En-1(s) . QL- .









3. .
1. .
:
N - (: );
A - N3, N-1 , - , N-1 - ;
EV - N, ;
RAB - 2*N, ;
IERR - , , , :
) IRR N,
) IRR , 30 , 1,2,...,IRR-1 , N .

include "f2c.h"
static integer c__35 = 35;
int aej2d_c(integer *n, doublereal *a, doublereal *ev,
doublereal *rab1, integer *ierr)
{

static doublereal sys051 = 1.1107652e-16;

/* System generated locals */
integer a_dim1, a_offset, i__1, i__2;
doublereal d__1, d__2, d__3;

/* Builtin functions */
double sqrt(doublereal), d_sign(doublereal *, doublereal *);

/* Local variables */
static integer b, c__, d__, e, f, g, h__;
static doublereal i__, j, k, l, m, o, p;
extern /* Subroutine */ int utae10_c(integer *, integer *, integer *);
#define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
/* Parameter adjustments */
--rab1;
--ev;
a_dim1 = *n;
a_offset = a_dim1 + 1;
a -= a_offset;
/* Function Body */
*ierr = 0;
i__1 = *n;
for (b = 1; b <= i__1; ++b) {
if (b == 1) {
goto L3;
}
rab1[b] = a_ref(b, 1) * a_ref(b - 1, 3);
if ((d__1 = rab1[b]) < 0.) {
goto L5;
} else if (d__1 == 0) {
goto L1;
} else {
goto L2;
}
L1:
if (a_ref(b, 1) == 0. && a_ref(b - 1, 3) == 0.) {
goto L2;
}
*ierr = -(*n * 3 + b);
L2:
rab1[b] = sqrt(rab1[b]);
L3:
ev[b] = a_ref(b, 2);
/* L4: */
}
goto L6;
L5:
*ierr = *n + b;
L6:
if (*ierr != 0) {
goto L20;
}
*ierr = 0;
if (*n == 1) {
goto L20;
}
i__1 = *n;
for (c__ = 2; c__ <= i__1; ++c__) {
/* L7: */
rab1[c__ - 1] = rab1[c__];
}
rab1[*n] = 0.;
i__1 = *n;
for (e = 1; e <= i__1; ++e) {
d__ = 0;
L8:
i__2 = *n;
for (f = e; f <= i__2; ++f) {
if (f == *n) {
goto L10;
}
if ((d__1 = rab1[f], abs(d__1)) <= sys051 * ((d__2 = ev[f], abs(
d__2)) + (d__3 = ev[f + 1], abs(d__3)))) {
goto L10;
}
/* L9: */
}
L10:
m = ev[e];
if (f == e) {
goto L14;
}
if (d__ == 30) {
goto L19;
}
++d__;
l = (ev[e + 1] - m) / (rab1[e] * 2.);
if (abs(l) > 1.) {
/* Computing 2nd power */
d__1 = 1. / l;
o = abs(l) * sqrt(d__1 * d__1 + 1.);
}
if (abs(l) > 1.) {
/* Computing 2nd power */
d__1 = 1 / l;
o = abs(l) * sqrt(d__1 * d__1 + 1.);
}
if (abs(l) <= 1.) {
o = sqrt(l * l + 1.);
}
l = ev[f] - m + rab1[e] / (l + d_sign(&o, &l));
p = 1.;
j = 1.;
m = 0.;
h__ = f - e;
i__2 = h__;
for (g = 1; g <= i__2; ++g) {
c__ = f - g;
k = p * rab1[c__];
i__ = j * rab1[c__];
if (abs(k) < abs(l)) {
goto L11;
}
j = l / k;
o = sqrt(j * j + 1.);
rab1[c__ + 1] = k * o;
p = 1. / o;
j *= p;
goto L12;
L11:
p = k / l;
o = sqrt(p * p + 1.);
rab1[c__ + 1] = l * o;
j = 1. / o;
p *= j;
L12:
l = ev[c__ + 1] - m;
o = (ev[c__] - l) * p + j * 2. * i__;
m = p * o;
ev[c__ + 1] = l + m;
l = j * o - i__;
/* L13: */
}
ev[e] -= m;
rab1[e] = l;
rab1[f] = 0.;
goto L8;
L14:
if (e == 1) {
goto L16;
}
i__2 = e;
for (g = 2; g <= i__2; ++g) {
c__ = e + 2 - g;
if (m >= ev[c__ - 1]) {
goto L17;
}
ev[c__] = ev[c__ - 1];
/* L15: */
}
L16:
c__ = 1;
L17:
ev[c__] = m;
/* L18: */
}
goto L20;
L19:
*ierr = e;
L20:
if (*ierr != 0) {
utae10_c(ierr, n, &c__35);
}
return 0;
} /* aej2d_c */
#undef a_ref
}


2. .
#include <math.h>
void tred2(float **a, int n, float *d, float *e) {
int l,k,j,i;
float scale,hh,h,g,f;
for(i=n;i>=2;i--) {
l=i-1; h=scale=0.;

for(k=1;k<=l;k++) scale += fabs(a[i][k]);
if(scale==0.) e[i]=a[i][l];
else {
for(k=1;k<=l;k++) {
a[i][k]/=scale; h += a[i][k]*a[i][k];
}

f=a[i][l];
g=(f>=0.?-sqrt(h):sqrt(h));
e[i]=scale*g; h -= f*g;
a[i][l]=f-g;

f=0.;
for(j=1;j<=l;j++) { a[j][i]=a[i][j]/h;
g=0.;
for(k=1;k<=j;k++) g += a[j][k]*a[i][k];
for(k=j+1;k<=l;k++) g += a[k][j]*a[i][k];
e[j]=g/h;
f += e[j]*a[i][j];
}
hh=f/(h+h);
for(j=1;j<=l;j++) {
/* q p ( e) */
f=a[i][j]; e[j]=g=e[j]-hh*f;
for(k=1;k<=j;k++) a[j][k] -= (f*e[k]+g*a[i][k]);
}
}
}
else e[i]=a[i][l];
d[i]=h;
}
d[1]=0.;
e[1]=0.;
for(i=1;i<=n;i++) {
l=i-1; if(d[i]!=0.) {
for(j=1;j<=l;j++) {
g=0.;
for(k=1;k<=l;k++) g += a[i][k]*a[k][j];
for(k=1;k<=l;k++) a[k][j] -= g*a[k][i];
}
} d[i]=a[i][i];
a[i][i]=0.;
for(j=1;j<=l;j++) a[j][i]=a[i][j]=0.;
}
}

3. QL- .

N - (: );

A - N2, N-1 , - ;

EV - N, ;

RAB - N, ;

IERR - , , ; IRR , 30 , 1,2,...,IRR-1 , N .

#include "f2c.h"
static integer c__34 = 34;
int aee2r_c(integer *n, real *a, real *ev, real *rab1,
integer *ierr)
{
static real sys051 = 1.192093e-7f;
integer a_dim1, a_offset, i__1, i__2;
real r__1, r__2, r__3;
/* Builtin functions */
double sqrt(doublereal), r_sign(real *, real *);
/* Local variables */
static integer b, c__, d__, e, f, g;
static real h__;
static integer i__;
static real j, k, l, m, o, p;
extern /* Subroutine */ int utae10_c(integer *, integer *, integer *);
#define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
/* Parameter adjustments */
--rab1;
--ev;
a_dim1 = *n;
a_offset = a_dim1 + 1;
a -= a_offset;
/* Function Body */
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
ev[i__] = a_ref(i__, 2);
rab1[i__] = a_ref(i__, 1);
/* L1: */
}
*ierr = 0;
if (*n == 1) {
goto L15;
}
i__1 = *n;
for (b = 2; b <= i__1; ++b) {
/* L2: */
rab1[b - 1] = rab1[b];
}
rab1[*n] = 0.f;
i__1 = *n;
for (d__ = 1; d__ <= i__1; ++d__) {
c__ = 0;
L3:
i__2 = *n;
for (e = d__; e <= i__2; ++e) {
if (e == *n) {
goto L5;
}
if ((r__1 = rab1[e], abs(r__1)) <= sys051 * ((r__2 = ev[e], abs(
r__2)) + (r__3 = ev[e + 1], abs(r__3)))) {
goto L5;
}
/* L4: */
}
L5:
..................



90% antiplagiat.ru, etxt.ru advego.ru




* . , .