Önemli not : Bu meydan okuma sadece kare matrisler için geçerli olduğundan, "matris" terimini her kullandığımda, bir kare matrise atıfta bulunduğum varsayılmaktadır. Ben kısaca aşk için "kare" açıklamasını bırakıyorum.
Arka fon
Determinantın hesaplanması, doğrusal bir sistemin çözülmesi veya skaler değerli fonksiyonların matrislere genişletilmesi gibi matrisle ilgili birçok işlem, benzer bir diyagonal matris (ana diyagonal üzerinde olmayan elemanları 0 olan) kullanılarak daha kolay hale getirilir orijinal matrise (giriş matrisi için anlamı Ave diyagonal matris D, bir ters çevrilebilir bir temel matris Pbu şekilde D = P^(-1) * A * P, aynı zamanda, Dve Aözdeğerler, belirleyici ve iz gibi bazı önemli özelliklere paylaşan). Ayrı öz değerleri ile matrislerin (çözme tarafından verilen matris karakteristik polinom, köklerden için det(A-λI) = 0için λ, Iaynı boyutlarda olarak kimlik matrisidir A), Diyagonalleştirme basittir:Dana köşegen üzerinde özdeğerleri Polan bir matristir ve bu özdeğerlere karşılık gelen özvektörlerden (aynı sırayla) oluşan bir matristir. Bu işleme öz-derleme denir .
Bununla birlikte, tekrarlanan özdeğerleri olan matrisler bu şekilde köşegenleştirilemez. Neyse ki, herhangi bir matrisin Ürdün normal formu oldukça kolay hesaplanabilir ve normal bir diyagonal matristen çalışmak çok daha zor değildir. Ayrıca, eğer özdeğerler benzersizse, Ürdün ayrışmasının öz-bileşim ile özdeş olması hoş bir özelliğe sahiptir.
Ürdün ayrışması açıklandı
AÖzdeğerlerinin tümü geometrik çokluğu 1 olan bir kare matris için Ürdün ayrıştırma işlemi şu şekilde tarif edilebilir:
- Izin vermek art arda tekrarlanan özdeğerleri ile, çokluk ile
λ = {λ_1, λ_2, ... λ_n}özdeğerlerinin listesi olsunA. JÖğeleriλaynı sırayla öğeleri olan çapraz bir matris oluşturun .- Çoğulluğu 1'den büyük olan her bir özdeğer için
1, özdeğerin tekrarlarının her birinin sağınaJ, sonuncusu hariç ana köşegenine yerleştirin .
Ortaya çıkan matris JÜrdün normal formudur A(belirli bir matris için özdeğerlerin sırasına bağlı olarak birden fazla Ürdün normal formu olabilir).
Çalışan bir örnek
Izin vermek Aaşağıdaki matris olmak:
AÇokluk ile özdeğerleridir λ = {1, 2, 4, 4}. Bunları köşegen bir matrise koyarak bu sonucu elde ederiz:
Sonra, 1s'yi tekrarlanan özdeğerlerin her biri hariç her birinin sağına yerleştiririz. Yana 4sadece tekrarlanan özdeğeridir, biz tek yerleştirmek 1ilk 4'e sonraki:
Bu Ürdün normal formudur A(tek bir matris potansiyel olarak birkaç geçerli Ürdün normal formuna sahip olabilir, ancak açıklama amacıyla bu ayrıntıyı inceliyorum).
Görev
AGirdi olarak bir kare matris verildiğinde , geçerli bir Ürdün normal formunun çıktısını alın A.
- Giriş ve çıkış herhangi bir makul formatta olabilir (2B dizi / liste / her neyse, liste / dizi / sütun veya satır vektörleri, yerleşik matris veri türü, vb.).
- Öğelerinin öğeleri ve özdeğerleri
Aher zaman aralıkta tamsayılar olacaktır[-200, 200]. - Basitlik adına, tüm özdeğerlerin geometrik çokluğu 1 olacaktır (ve dolayısıyla yukarıdaki süreç geçerlidir).
Aen fazla 10x10 matris ve en az 2x2 matris olacaktır.- Özdeğerleri ve / veya özvektörleri hesaplayan veya özdepozisyon, Ürdün ayrışması veya başka herhangi bir tür ayrışma / köşegenleştirme gerçekleştiren yapılara izin verilmez. Matris aritmetiği, matris inversiyonu ve diğer matris yerleşiklerine izin verilir.
Test senaryoları
[[1, 0], [0, 1]] -> [[1, 1], [0, 1]]
[[3, 0], [0, 3]] -> [[1, 1], [0, 1]]
[[4, 2, 2], [1, 2, 2],[0, 3, 3]] -> [[6, 0, 0], [0, 3, 0], [0, 0, 0]]
[[42, 48, 40, 64, 64], [41, 47, 31, 58, 42], [-55, -47, -27, -74, -46], [-46, -58, -46, -70, -68], [30, 20, 12, 34, 18]] -> [[10, 0, 0, 0, 0], [0, -18, 0, 0, 0], [0, 0, 6, 1, 0], [0, 0, 0, 6, 1], [0, 0, 0, 0, 6]]




Last@JordanDecomposition@#&? Yoksa aldatıyor mu?