Смекни!
smekni.com

Алгебраическая проблема собственных значений (стр. 1 из 4)

1. ВВЕДЕНИЕ

Целый ряд инженерных задач сводится к рассмотрению систем уравнений, имеющих единственное решение лишь в том случае, если известно значение некоторого входящего в них параметра. Этот особый параметр называется характеристическим, или соб­ственным, значением системы. С задачами на собственные значе­ния инженер сталкивается в различных ситуациях. Так, для тензоров напряжений собственные значения определяют главные нормальные напряжения, а собственными векторами задаются направления, связанные с этими значениями. При динамическом анализе механических систем собственные значения соответст­вуют собственным частотам колебаний, а собственные векторы характеризуют моды этих колебаний. При расчете конструкций собственные значения позволяют определять критические на­грузки, превышение которых приводит к потере устойчивости.

Выбор наиболее эффективного метода определения собствен­ных значений или собственных векторов для данной инженерной задачи зависит от ряда факторов, таких, как тип уравнений, число искомых собственных значений и их характер. Алгоритмы решения задач на собственные значения делятся на две группы. Итерационные методы очень удобны и хорошо приспособлены для определения наименьшего и наибольшего собственных значений. Методы преобразований подобия несколько сложней, зато позволяют определить все собственные значения и собственные векторы.

В данной работе будут рассмотрены наиболее распространенные методы решения задач на собственные значения. Однако сначала приведем некоторые основные сведения из теории матричного и векторного исчислений, на которых базируются методы опреде­ления собственных значений.

2. НЕКОТОРЫЕ ОСНОВНЫЕ СВЕДЕНИЯ, НЕОБХОДИМЫЕ ПРИ РЕШЕНИИ ЗАДАЧ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ

В общем виде задача на собственные значения формулируется следующим образом:

AX =lX,

где A — матрица размерности nхn. Требуется найти n скаляр­ных значений l и собственные векторы X, соответствующие каждому из собственных значений.

Основные определения матричного исчисления

1. Матрица A называется симметричной, если

аij = аij, где i, j = 1, 2, . . ., n.

Отсюда следует симметрия относительно диагонали

аkk, где k == 1, 2, . . ., n.

Матрица

1 4 5
4 3 7
5 7 2

является примером симметричной.

2. Матрица A называется трехдиагональной, если все ее элементы, кроме элементов главной и примыкающих к ней диа­гоналей, равны нулю. В общем случае трехдиагональная матри­ца имеет вид

* * 0
* * *
* * *
. . . . . .
* * *
0 * * *
* *

Важность трехдиагональной формы обусловлена тем, что некоторые методы преобразований подобия позволяют привести произвольную матрицу к этому частному виду.

3. Матрица A называется ортогональной, если

АТА = Е,

где Ат—транспонированная матрица A, а Е—единичная матрица. Очевидно, матрица, обратная ортогональной, эквива­лентна транспонированной.

4. Матрицы А иВ называются подобными, если существует такая несингулярная матрица Р, что справедливо соотношение

В = Р-1АР.

Основные свойства собственных значений.

1. Все п собственных значений симметричной матрицы раз­мерности пХп, состоящей из действительных чисел, действи­тельные. Это полезно помнить, так как матрицы, встречающиеся в инженерных расчетах, часто бывают симметричными.

2. Если собственные значения матрицы различны, то ее соб­ственные векторы ортогональны. Совокупность п линейно неза­висимых собственных векторов образует базис рассматривае­мого пространства. Следовательно, для совокупности линейно независимых собственных векторов

Xi, где i == 1,. . ., n,

любой произвольный вектор в том же пространстве можно выра­зить через собственные векторы. Таким образом,

n

Y = SaiXi.

i=1

3. Если две матрицы подобны, то их собственные значения сов­падают. Из подобия матриц A и В следует, что

В = Р-1АР.

Так как

АХ = lХ,

то

Р-1АХ = lР-1Х.

Если принять Х == РY, то

Р-1АРY = lY,

а

ВY == lY.

Таким образом, матрицы A и В не только имеют одинаковые собственные значения, но и их собственные векторы связаны соот­ношением

Х = Р Y.

4. Умножив собственный вектор матрицы на скаляр, получим собственный вектор той же матрицы. Обычно все собственные векторы нормируют, разделив каждый элемент собственного вектора либо на его наибольший элемент, либо на сумму квадра­тов всех других элементов.

3. ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ.

Пожалуй, наиболее очевидным способом решения задачи на собственные значения является их определение из системы урав­нений

(A - lE)Х == 0,

которая имеет ненулевое решение лишь в случае, если det(A - lE)=0. Раскрыв определитель, получим многочлен п-йстепени относительно l, корни которого и будут собственными значениями матрицы. Для определения корней можно восполь­зоваться любым из методов, описанных в гл. 2. К сожалению, в задачах на собственные значения часто встречаются кратные корни. Так как итерационные методы, в этих случаях не гарантируют получение решения, то для определения собственных значений следует пользоваться другими итерацион­ными методами.

Определение наибольшего собственного значения методом итераций

На рис. 1 показана блок-схема простейшего итерационного метода отыскания наибольшего собственного значения системы

AХ =lХ.

Процедура начинается с пробного нормированного вектора X(0). Этот вектор умножается слева на матрицу A, и результат приравнивается произведению постоянной (собственное значение) и нормированному вектору X(0).. Если вектор X(0) совпадает с вектором X(0), то счет прекращается. В противном случае новый нормированный вектор используется в качестве исходного и вся процедура повторяется. Если процесс сходится, то постоянный множитель соответствует истинному наибольшему собст­венному значению, а нормированный вектор — соответствующему собственному вектору. Быстрота сходимости этого итерационного процесса зависит от того насколько удачно выбран начальный вектор. Если он близок к истинному собственному вектору, то итерации сходятся очень быстро. На быстроту сходимости влияет также и отношение величин двух наибольших собственных значений. Если это отношение близко к единице, то сходимость оказывается медленной.


Рис. 1. Блок-схема алгоритма иитерационного метода решения задач на собственные значения.

Пример 1

Исследуем трехосное напряженное состояние элемента тела, представленного на рисунке 2. Матрица напряжений для него имеет вид

10 5 6
5 20 4 * 106Н/м2
6
4 30


Рисунок 2.Трехосное напряженное состояние элемента тела.

Если исходить из того, что разрушение произойдет при максимальном напряжении, то необходимо знать величину наибольшего главного напряжения, которое соответствует наибольшему собственному значению матрицы напряжений. Для нахождения этого напряжения воспользуемся методом итерации Ниже приведена программа для ЭВМ, с помощью которой итерационная процедура осуществляется до тех пор, пока разность между собственными значениями, вычисленными в последовательных итерациях, не станет менее 0,01%. В программе использованы две подпрограммы — GMPRD из пакета программ для научных исследований фирмы IВМ, служащая для перемножения матриц и NORML, нормирующая собственные векторы по наибольшему элементу.

{**********************************************************************}

Программа определения собственных значений Программа позволяет определить наибольшее главное напряжение (собственное значение) для данного трехосного напряженного состояния. Применяется метод итераций. Счет прекращается, когда изменение собственного значения становится менее 0,01 процента или число итераций превышает 50.

{**********************************************************************}

DIMENSION S(3,3),X(3),R(3)

S(1,1) = 10.E06

S(1,2) =5.ЕО6

S(2,1) = S(1,2)

S(1,3) = 6.E06

S(3,1) = S(1,3)

S(2,2) = 20.E06

S(2,3) = 4.E06

S(3,2) = S(2,3)

S(3,3) = З0.Е06

X(1) = 1.

Х(2) = 0.0

Х(3) = 0.0

XOLD = 0.0

I = 0

WRITE(6 100)

WRITE(6 101)

WRITE(6 102)

WRITE(6 100)

WRITE(6 104) I,X(1),X(2),X(3)

DO 1 1=1,50

CALL GMPRD (S, X, R, 3, 3, 1)

DO 2 J=1,3

2 X(J) = R(J)

CALL NORML(XLAM,X)

WRITE(6,103) I,XLAM,X(1),X(2),X(3)

IF(ABS((XOLD-XLAM)/XLAM).LE.0.0001) GO TO 3

1 XOLD = XLAM

3 WRITE(6,100)

100 FORMAT (1X 54C'-''))

101 FORMAT (2X ‘ITERATION’, ЗХ ‘ITERATION’,11X,‘EIGENVECTOR')

102 FORMAT (3X 'NUMBER", 6X ,'(N/M**2)’, 5X, ‘X(1)’,

6X,'X(2)',6X,’X(3)’)

103 FORMAT (1X,I5,7X,E12.5,3F10.5)

104 FORMAT (1X,I5,19X,3F10.5)

STOP

END