هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها

خوارزمية قيمة ذاتية

من أرابيكا، الموسوعة الحرة
(بالتحويل من Eigenvalue algorithm)
اذهب إلى التنقل اذهب إلى البحث

في الجبر الخطي، من أهم المسائل تصميم خوارزميات ذات كفاءة عالية ومستقرة لإيجاد القيم الممتلكة لمصفوفة. يمكن بواسطة خوارزمية القيمة الذاتية إيجاد المتجهات الممتلكة أيضًا.

كثيرة حدود مميزة

إذا علمت مصفوفة مربعة A، فإن قيمة ممتلكة λ ومتجهها الممتلك المصاحب v هما من التعريف، زوجان خاضعان للعلاقة

Av=λv,

حيث v غير صفرية.[1] بالمثل، (AλI)v=0 (حيث I مصفوفة الوحدة) مقتضية أن det(AλI)=0 . يمكن توسيع هذا المحدد إلى كثيرة حدود في λ، المعروفة بكثيرة حدود مميزة للمصفوفة A. أحد الطرق المعروفة لإيجاد القيم الممتلكة لمصفوفة صغيرة هي بإيجاد جذور كثيرة الحدود المميزة.

للأسف فإن هذه الطريقة محدودة. لا يمكن حل كثيرة حدود من الرتبة n > 4 بواسطة عدد محدد من العمليات الحسابية المتعاقبة.هناك طرق أكثر كفاءة وهي خوارزميات إيجاد الجذور لكثيرات حدود برتب أعلى.

معاودة القوى

الفكرة الأساسية لهذه الطريقة هي اختيار اعتباطي لمتجه أولي b ومن ثم ضربه المتكرر بالمصفوفة، وبشكل معاود احتساب Ab, A²b, A³b,…. بفرض أن القيم الممتلكة مرتبة حسب قيمتها بحيث تكون λ1 الأكبر، وبمتجه ذاتي مصاحب v1.بعدها كل تكرار يقايس المركبة b باتجاه v1 بمقدار λ1، وكل اتجاه آخر بقيمة أقل (بفرض |λ2| < |λ1|).باستثناء مجموعة قياس صفر، لأي متجه أولي ستتقارب النتيجة إلى متجه ممتلك متوافق مع القيمة الممتلكة الغالبة.

القيم الممتلكة لمصفوفة

في الرياضيات، خصوصًا في الجبر الخطي، تعد كثيرة الحدود المميزة أداة هامة عند وصف القيم الممتلكة لمصفوفة مربعة.

الأنواع

القيم الممتلكة ذات المصفوفات 2×2

يمكن إيجاد حل تحليلي لقيم ذاتية لمصفوفات 2×2 مباشرة من الصيغة الرباعية:

A=[abcd]

فتكون كثيرة الحدود المميزة هي

det[aλbcdλ]=(aλ)(dλ)bc=λ2(a+d)λ+(adbc)

وتكون الحلول

λ=a+d2±(a+d)24+bcad=a+d2±4bc+(ad)22

لاحظ أن كثيرة الحدود المميزة لمصفوفة 2×2 يمكن كتابته بدلالة الأثر tr(A)=a+d والمحدد det(A)=adbc بالشكل

det[aλbcdλ]=det[AλI2]=λ2λtr(A)+det(A)

حيث I2 هي مصفوفة الوحدة 2×2. لذا يمكن كتابة حلول القيم الذاتية لمصفوفة 2×2 بالصورة

λ=12(tr(A)±tr2(A)4det(A))

قيم ممتلكة ذات مصفوفات 3×3

إذا كانت

A=[abcdefghi]

فإن كثيرة الحدود المميزة لـA هو

det[aλbcdeλfghiλ]=λ3+λ2(a+e+i)+λ(db+gc+fhaeaiei)+(aeiafhdbi+dch+gbfgce).

بالمثل يمكن كتابة كثيرة الحدود المميزة لمصفوفة 3×3 بدلالة الأثر tr(A) و المحدد det(A) على الصورة

det[AλI3]=λ3+λ2tr(A)+λ12[tr(A2)tr2(A)]+det(A)

حيث I3 مصفوفة الوحدة 3×3.

طرق تقريبية برمجية لإيجاد القيم الممتلكة

في حال لم يكن لديك برامجيات علمية ذات دالة قيمة ممتلكة، فيما يلي مجموعة من الخطوات التي يمكنك استعمالها كشفرة عامة لمساعدتك في إنشاء برنامج لحل المسائل.

للنوع 2×2:

//we know there are two eigen values, so the
//equations from above can be hard-coded in with minimal effort

Eig11 = (a+d)/2 + sqrt(((a+d)*(a+d))/4 + bc  ad)
Eig12 = (a+d)/2 - sqrt(((a+d)*(a+d))/4 + bc  ad)
//eig11 is the value found using + and eig12 is the value using -
//or we get the same two eigenvalues with the modified equation
Eig21 = (a+d)/2 + sqrt(4bc + (a-d)(a-d))/2
Eig22 = (a+d)/2 - sqrt(4bc + (a-d)(a-d))/2

للنوع 3×3:

//a 3×3 is more complicated and requires several helper equations
//to accomplish due to the λ³ term.
//These steps should help you calculate eigen values for a matrix
//that has ***3 REAL eigen values***.

Define x,y,z
//Use the equation from above to get your cubic equation and
//combine all constant terms possible to
//give you a reduced equation we will use a, b, c and d to denote
//the coefficients of this equation.
Eqn = aλ³ + bλ² +  + d = 0
x = ((3c/a)  (/))/3
y = ((2/)  (9bc/) + (27d/a))/27
z = /4 + /27

Define I, j, k, m, n, p (so equations are not so cluttered)
i = sqrt(/4 - z)
j = -i^(1/3)
k = arccos(-(y/2i))
m = cos(k/3)
n = sqrt(3)*sin(k/3)
p = -(b/3a)

Define Eig1, Eig2, Eig3
Eig1 = -2j*m + p
Eig2 = j *(m + n) + p
Eig3 = j*(m - n) + p

القيم الممتلكة لمصفوفة متماثلة 3x3

ملاحظة: لاتعمل هذه الطريقة في حال المصفوفات المفردة (ذات قيمة أو أكثر ممتلكة صفرية).

% Given symmetric 3x3 matrix M, compute the eigenvalues
m = trace(M)/3;
K = M-m*eye(3);
q = det(K)/2;

p = 0
for i=1:3
    for  j=1:3
        p = p + K(i,j)^2;
    end
end
p = p/6;

phi = 1/3*atan2(sqrt(p^3-q^2), q);
if(phi<0)
    phi=phi+pi/3;
end

eig1 = m + 2*sqrt(p)*cos(phi)
eig2 = m - sqrt(p)*(cos(phi) + sqrt(3)*sin(phi))
eig3 = m - sqrt(p)*(cos(phi) - sqrt(3)*sin(phi))

القيم الممتلكة والمتجهات الممتلكة لمصفوفات خاصة

بالنسبة للمصفوفات التي تحقق الشرط A2=α يمكن كتابة صيغ خاصة للقيم الممتلكة الممكنة.

P+=12(I+Aα)
P=12(IAα)

مع

AP+=αP+AP=αP

و

P+P+=P+PP=PP+P=PP+=0

وهذا يعطي الحل مرة أخرى للمتطابقة

I=P++P=12(I+Aα)+12(IAα)

مراجع

  1. ^ Press، William H.؛ Teukolsky، Saul A.؛ Vetterling، William T.؛ Flannery، Brian P. (1992). Numerical Recipes in C (ط. 2nd). Cambridge University Press. ISBN:0-521-43108-5.