求矩陣模最大的特徵值及其對應特徵向量
注:需要模最大特徵值唯一,矩陣各列線性無關
// 冪法求特徵值
// 需要保證各列線性無關
#include
#include
#include
#include
#include
using
namespace
std;
#define n 5
class mt
mt(int x, int y)
};mt operator * (mt a, mt b)
return c;
}mt a(3, 3);
mt xk(3, 1), yk(3, 1);
double lastm, m;
int n;
double eps;
void init()
int main()
for (int i = 0; i < n; i++)
cout
<< right << setw(6) << m << " ";
for (int i = 0; i < n; i++)
cout
<< endl;
}return
0;}
求矩陣模最小的特徵值及其對應特徵向量
注:與冪法幾乎完全相同
// 反冪法求特徵值
// 需要保證各列線性無關
#include
#include
#include
#include
#include
using
namespace
std;
#define n 5
class mt
mt(int x, int y)
};mt operator * (mt a, mt b)
return c;
}mt a(3, 3);
mt xk(3, 1), yk(3, 1);
double lastm, m;
int n;
double eps;
void init()
mt gauss(mt a, mt y)
y.mt[j][0] -= t * y.mt[i][0];}}
mt rt(3, 1);
for (int i = n - 1; i >= 0; i--)
return rt;
}int main()
for (int i = 0; i < n; i++)
cout
<< right << setw(10) << m << " ";
for (int i = 0; i < n; i++)
cout
<< endl;
}return
0;}
冪法 c語言
編寫了冪法的子函式,單位化時採用二範數,相關引數可以根據需求改動較為靈活 int main a lamada1 a return 0 double a lamada1 double a 3 3 根據冪法計算矩陣a的按模最大的特徵值lamada1 向量初始化 1 0 0 double y 3 單位化矩...
分治法例項 快速冪
快速冪 即快速求冪a b,這裡提供兩種實現方法 位運算非遞迴實現法 即將冪次b寫成二進位制的形式 事實上,計算機中就是以二進位制儲存數字的 若b的某個二進位制位為1,res乘上當前的base,同時base變成base 若為0,則僅僅base變為base 遞迴實現法 這種方法貌似更好理解一些,若b為偶...
蠻力法求解冪集問題
對於給定的正整數n n 1 求1到n構成的集合的冪集 包括全集和空集 思路將二進位制位與冪集對應起來,n的冪集個數為2 n2 n 2n,每乙個二進位制位代表乙個元素。下面以n等於3為例。集合元素 對應的二進位制位 對應的十進位制數 000 0011 0102 0113 1004 1015 1106 ...