最近做乙個加密演算法遇到需要計算矩陣的逆,閒著無聊,記錄一下,以後免得再麻煩。
#include #include #include #define max 20
#define e 0.000000001
/** * 計算矩陣src的模
*/double calculate_a( double src[max], int n )
for( i = 0; i < n; ++i )
}t = calculate_a( tmp, n - 1 );
if( i % 2 == 0 )
else
}return result;
}/**
* 計算伴隨矩陣
*/void calculate_a_adjoint( double src[max][max], double dst[max][max], int n )
for( i = 0; i < n; ++i )
}dst[j][i] = calculate_a( tmp, n - 1 );
if( ( i + j ) % 2 == 1 )
} }}
/** * 得到逆矩陣
*/int calculate_a_inverse( double src[max][max], double dst[max][max], int n )
calculate_a_adjoint( src, tmp, n );
for( i = 0; i < n; ++i )
}return 1;
}/**
* 輸出矩形檢視
*/void print_m( double m[max], int n )
printf("\n"); }}
/** * main
*/int main()
else
return 0;
}
伴隨矩陣求逆矩陣
在之前的文章 線性代數之矩陣 中已經介紹了一些關於矩陣的基本概念,本篇文章主要就求解逆矩陣進行進一步總結。我們先看例子來直觀的理解什麼是余子式 minor,後邊將都用英文minor,中文的翻譯較亂 這個例子 我們假設矩陣為a 中我們看到a 1,1 的minor就是將a 1,1 所在的行和列刪除後剩下...
模板 矩陣求逆
求乙個 n times n 的矩陣的逆矩陣。答案對 10 9 7 取模。在原矩陣右邊接乙個單位矩陣,然後把原矩陣通過初等變換消成單位矩陣,右邊的單位矩陣做同樣的變換,就成了逆矩陣。什麼,為什麼?難得你不覺得這個想起來非常的正確麼 code luogu judger enable o2 include...
pinv 求矩陣的偽逆矩陣
pinv 求矩陣的偽逆矩陣 功能簡介 用於求矩陣的偽逆矩陣。語法格式 1 b pinv a 函式返回矩陣a的偽逆矩陣。如果矩陣a是可逆 非奇異 的,那麼pinv a 與inv a 的結果是一樣的,而且pinv比inv效率低。但如果矩陣a是奇異矩陣,則inv a 不存在,但pinv a 仍然存在,並表...