大型稀疏矩阵求解矩阵

记住登录一个月发表随想还能输入:200字该用户最新代码编程随想&by by by by by by [java]代码库
* 求矩阵的逆矩阵 为矩阵右加一个单位矩阵后进行初等行变换,当左边变成单位矩阵时,右边就是求得的逆矩阵。 矩阵的初等行变换法则
* (1)交换变换:交换两行 (2)倍法变换:给一行数据乘以一个非0常数 (3)消法变换:把一行所有元素的k倍加到另一行的对应元素上去
* 将上述规则中的行换成列同样有效 只有方阵才可能有逆矩阵!
public Matrix inverseMatrix() {
if (!this.isSquareMatrix()) {
System.out.println("不是方阵没有逆矩阵!");
// 先在右边加上一个单位矩阵。
Matrix tempM = this.appendUnitMatrix();
// 再进行初等变换,把左边部分变成单位矩阵
double[][] tempData = tempM.getMatrixData();
int tempRow = tempData.
int tempCol = tempData[0].
// 对角线上数字为0时,用于交换的行号
int line = 0;
// 对角线上数字的大小
double bs = 0;
// 一个临时变量,用于交换数字时做中间结果用
double swap = 0;
for (int i = 0; i & tempR i++) {
// 将左边部分对角线上的数据等于0,与其他行进行交换
if (tempData[i][i] == 0) {
if (++line &= tempRow) {
System.out.println("此矩阵没有逆矩阵!");
for (int j = 0; j & tempC j++) {
swap = tempData[i][j];
tempData[i][j] = tempData[line][j];
tempData[line][j] =
// 当前行(第i行)与第line行进行交换后,需要重新对第i行进行处理
// 因此,需要将行标i减1,因为在for循环中会将i加1。
// 继续第i行处理,此时第i行的数据是原来第line行的数据。
// 将左边部分矩阵对角线上的数据变成1.0
if (tempData[i][i] != 1) {
bs = tempData[i][i];
for (int j = tempCol - 1; j &= 0; j--) {
tempData[i][j] /=
// 将左边部分矩阵变成上对角矩阵,
// 所谓上对角矩阵是矩阵的左下角元素全为0
for (int iNow = i + 1; iNow & tempR iNow++) {
for (int j = tempCol - 1; j &= j--) {
tempData[iNow][j] -= tempData[i][j] * tempData[iNow][i];
// 将左边部分矩阵从上对角矩阵变成单位矩阵,即将矩阵的右上角元素也变为0
for (int i = 0; i & tempRow - 1; i++) {
for (int iNow = iNow & tempRow - 1; iNow++) {
for (int j = tempCol - 1; j &= 0; j--) {
tempData[i][j] -= tempData[i][iNow + 1]
* tempData[iNow + 1][j];
// 右边部分就是它的逆矩阵
Matrix c =
int cRow = tempR
int cColumn = tempCol / 2;
double[][] cData = new double[cRow][cColumn];
// 将右边部分的值赋给cData
for (int i = 0; i & cR i++) {
for (int j = 0; j & cC j++) {
cData[i][j] = tempData[i][cColumn + j];
// 得到逆矩阵,返回
c = new Matrix(cData);
分享到:更多共1 条评论
发表评论:评论须知:1、评论每次加2分,每天上限为30;2、请文明用语,共同创建干净的技术交流环境;3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。考点:矩阵与向量乘法的意义
专题:矩阵和变换
分析:先写出方程f(λ)=0得到ab=1,再根据题意令i=2得到λ2的值,从而求得矩阵M.
解:由题可得λ1,λ2是方程f(λ)=.λ-a-bλ.=λ2-ab=0的两根.因为λ1=1,所以ab=1.又因为Mα2=λ2α2,所以0ab011=λ211,从而a=λ2b=λ2.所以λ22=ab=1.即λ2=1或者-1.又因为λ1≠λ2,所以λ2=-1.从而a=b=-1.故矩阵M=0-1-10.
点评:本题考查简单的矩阵计算,属于基础题.
请在这里输入关键词:
科目:高中数学
已知函数f(x)=23sinx2cosx2-2sin2x2+1.(Ⅰ)若f(a)=65,求cos(π3-α)的值;(Ⅱ)把函数f(x)图象上所有点的横坐标伸长到原来的2倍(纵坐标不变),再将所得图象向左平移m(m>0)个单位,得到函数g(x)的图象.若函数g(x)为偶函数,求m的最小值.
科目:高中数学
如图所示,AB是⊙O的直径,弦CD⊥AB于点P,CD=10cm,AP:PB=1:5,求⊙O的半径.
科目:高中数学
正方体的一侧面与投影面平行,则该正方体有个面的正投影是线段.
科目:高中数学
(选修4-1:几何证明选讲)如图,AB为⊙O的直径,过点B作⊙O的切线BC,OC交⊙O于点E,AE的延长线交BC于点D.若AB=BC=2,则CD=.
科目:高中数学
已知函数f(x)=-x2+mx-m.(1)若函数f(x)的最大值为0,求实数m的值;(2)若函数f(x)在[-1,0]上单调递减,求实数m的取值范围;(3)是否存在实数m,使得f(x)在[2,3]上的值域恰好是[2,3]?若存在,求出实数m的值;若不存在,说明理由.
科目:高中数学
设a•b=4,若a在b方向上的投影为23,且b在a方向上的投影为3,则a和b的夹角等于(  )
A、π3B、π6C、2π3D、π3或2π3
科目:高中数学
在正方体8个顶点中任选3个顶点连成三角形,则所得的三角形是等腰直角三角形的概率为(  )
A、17B、27C、37D、47
科目:高中数学
已知向量a=(1,1),b=(2,n),若|a+b|=|a-b|,则n=.
精英家教网新版app上线啦!用app只需扫描书本条形码就能找到作业,家长给孩子检查作业更省心,同学们作业对答案更方便,扫描上方二维码立刻安装!以下试题来自:
问答题 设实对称矩阵 ,求可逆矩阵P,使P-1AP为对角形矩阵,并计算行列式|A-E|的值. 参考答案
由矩阵A的特征多项式
为您推荐的考试题库
你可能感兴趣的试题
1.问答题 参考答案
(Ⅰ)按已知条件,有
A(&1,&2,&3)=(&1+&...... 2.问答题 参考答案
[] 由矩阵A的特征多项式
...... 3.问答题 参考答案
(1)因为A和对角矩阵B相似,所以-1,2,y就是矩阵A的特征值
<img src="/2016-03/caijuexing/2...... 4.问答题 参考答案
A的特征多项式为
若&l...... 5.问答题 参考答案
(Ⅰ)设&是属于特征值&0的特征向量,即
<img src="/2016-03/......
热门相关试卷
最新相关试卷

我要回帖

更多关于 求解矩阵方程 的文章

 

随机推荐