特征方程怎么寫 Characteristic Equation(特征方程
特征方程是指線性代數(shù)中矩陣的特征值方程。假設(shè) $A$ 是一個(gè) $n\ n$ 的矩陣特征方程怎么寫特征方程怎么寫,$\$ 是其特征值特征方程怎么寫,那么特征方程為:$$\det(A-\ I) = 0$$其中 $I$ 是 $n\ n$ 的單位矩陣。解特征方程就是求解上述方程的根 $\$。以下是 C++ 代碼實(shí)現(xiàn):```cpp# # # std; eps = 1e-10; // 精度// 求解一元二次方程的根void ( a, b, c, & res) { = b * b - 4 * a * c;if ( < -eps) ; // 無實(shí)數(shù)解if ( < eps) { // 有一個(gè)實(shí)根 x = -b / (2 * a);if (abs(x) < eps) x = 0; // 防止誤差res.(x);} else { // 有兩個(gè)實(shí)根 x1 = (-b - sqrt()) / (2 * a);if (abs(x1) < eps) x1 = 0; // 防止誤差res.(x1); x2 = (-b + sqrt()) / (2 * a);if (abs(x2) < eps) x2 = 0; // 防止誤差res.(x2);}}// 求解特征方程的根 ion(>& A) {int n = A.size(); res;if (n == 1) { // 1x1 矩陣的特征值就是其唯一元素res.(A[0][0]); res;} poly(n + 1); // 保存特征多項(xiàng)式的系數(shù)poly[n] = 1;for (int k = 0; k < n; k++) { // 求解特征多項(xiàng)式> Ak(n - k, (n - k));for (int i = k; i < n; i++) {for (int j = k; j < n; j++) {Ak[i - k][j - k] = A[i][j];}} a = 1, b = -Ak[0][0];for (int i = 1; i < n - k; i++) {a = -Ak[i][i] * a;b = -Ak[i][i] * b - Ak[i - 1][i] * a;}(a, b, -Ak[n - k - 1][n - k - 1], res);poly[n - k - 1] = -b / a;} res;}int main() {> A = {{2, -1, 0}, {-1, 2, -1}, {0, -1, 2}}; res = ion(A);for (auto x : res) {cout
免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表本站的觀點(diǎn)和立場和對其真實(shí)性負(fù)責(zé)。如需轉(zhuǎn)載,請聯(lián)系原作者。如果來源標(biāo)注有誤或侵犯了您的合法權(quán)益或者其他問題不想在本站發(fā)布,來信即刪。
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。