国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C 語言的逆矩陣求解實(shí)現(xiàn)機(jī)理探究

2020-07-04 08:53岳毅然
科學(xué)技術(shù)創(chuàng)新 2020年18期
關(guān)鍵詞:行列式代數(shù)矩陣

岳毅然

(中山大學(xué) 智能工程學(xué)院,廣東 廣州510275)

矩陣是理工科數(shù)學(xué)中一個(gè)重要的概念,它是代數(shù)領(lǐng)域的主要研究對(duì)象,也是數(shù)學(xué)理論研究和結(jié)合應(yīng)用的一個(gè)重要工具。十九世紀(jì)中葉,英國(guó)數(shù)學(xué)家西爾維斯特為了將數(shù)字的矩形陣列區(qū)別于行列式而發(fā)明了“矩陣”一詞[1]。

矩陣的應(yīng)用非常廣泛,它不僅被應(yīng)用于數(shù)學(xué)領(lǐng)域里,在傳統(tǒng)理學(xué)、力學(xué)、現(xiàn)代自然科學(xué)、工程技術(shù)、計(jì)算機(jī)科學(xué)以及社會(huì)科學(xué)等諸多領(lǐng)域都是一個(gè)重要的工具。

如圖像的數(shù)據(jù)化表示中,圖像在計(jì)算機(jī)中以矩陣的形式進(jìn)行存儲(chǔ)和讀寫,也通過對(duì)矩陣進(jìn)行運(yùn)算和變換等操作實(shí)現(xiàn)對(duì)圖片的處理。

逆矩陣作為矩陣論的一個(gè)重要分支,它在工程數(shù)學(xué)上如解線性方程組等等的應(yīng)用非常廣泛。

為了更好地在實(shí)際問題中求解矩陣的逆矩陣,本文根據(jù)逆矩陣的定義和性質(zhì)總結(jié)了一種適合計(jì)算機(jī)語言求逆矩陣的方法,幫助我們更快更準(zhǔn)地解決人工計(jì)算量較大的求逆矩陣問題。

1 數(shù)學(xué)理論基礎(chǔ)

設(shè)A 是數(shù)域上的一個(gè)n 階矩陣,若在相同數(shù)域上存在另一個(gè)n 階矩陣B,有AB=BA=E,則稱B 是A 的逆矩陣,而A 被稱為可逆矩陣。

通常來講,計(jì)算機(jī)求解逆矩陣的常規(guī)方法為伴隨矩陣法,其數(shù)學(xué)理論基礎(chǔ)如下。

首先,n 階矩陣A=[aij]為可逆的充分必要條件為A 是非奇異矩陣,故有:

其中|A|為矩陣A 的行列式的值,A*稱為伴隨矩陣,其各元素Aij由矩陣A 各元素的代數(shù)余子式組成:

當(dāng)矩陣A 的行列式|A|為零時(shí),該矩陣沒有逆矩陣(即分母不能為0)。

伴隨矩陣A*的元素與原矩陣A 的元素的下標(biāo)是轉(zhuǎn)置關(guān)系,可以根據(jù)求解代數(shù)余子式(即行列式)功能函數(shù)和雙重循環(huán)矩陣賦值的方式生成伴隨矩陣,從而實(shí)現(xiàn)矩陣求逆功能。

這種求逆矩陣的方法要求解得矩陣A 的行列式|A|及A 的伴隨矩陣A*,人工計(jì)算量較大,但是計(jì)算程序和循環(huán)較為簡(jiǎn)單,適合計(jì)算機(jī)運(yùn)算,故在理論上具有重要的地位。

1.1 矩陣行列式求解

設(shè)A 為一個(gè)n 階矩陣,可以采用列主元高斯消去法,經(jīng)過p次行交換或列交換將矩陣A 轉(zhuǎn)化為上三角矩陣,后根據(jù):

求得矩陣行列式的值。

手動(dòng)求解時(shí)用上述方法較為簡(jiǎn)便,但在計(jì)算機(jī)語言程序設(shè)計(jì)中,為解決更多維的矩陣行列式問題,則傾向于使用按行展開的方法。

矩陣的行列式等于它的任一行(列)的各元素aij與其對(duì)應(yīng)的代數(shù)余子式乘積之和,即:

1.2 伴隨矩陣求解

設(shè)一個(gè)n 階矩陣A,將矩陣A 中的元素aij所在的第i 行和第j 列元素劃去后,剩余的各元素按原來的排列順序組成的n-1 階矩陣所確定的行列式稱為元素aij的余子式,記為Mij,稱Aij=(-1)i+jMij為元素aij的代數(shù)余子式。

由矩陣A 的各代數(shù)余余子式Aij組成一個(gè)新矩陣,被稱為矩陣A 的伴隨矩陣,記為A*。

2 程序設(shè)計(jì)和實(shí)現(xiàn)細(xì)節(jié)

在較為成熟的理論研究基礎(chǔ)之上,各類軟件常作為載體用以實(shí)現(xiàn)各類運(yùn)算,提高了信息處理的效果與效率,為人們對(duì)信息所進(jìn)行的處理提供了便利。常見的有matlab、SPSS、C/C++、Excel 等,本文基于C 語言對(duì)求逆矩陣的實(shí)現(xiàn)過程與機(jī)理進(jìn)行詳細(xì)介紹。

全過程從三個(gè)方面展開:求解行列式函數(shù)、求解伴隨矩陣函數(shù)、主函數(shù)。

2.1 函數(shù)getA_value:行列式

利用矩陣的按行展開方法求解行列式的值。輸入為欲求矩陣和行數(shù),后經(jīng)三重循環(huán),遍歷各元素,后將各項(xiàng)相加得到行列式的值。

詳細(xì)實(shí)現(xiàn)細(xì)節(jié)如下所示。

2.2 函數(shù)getA_star:伴隨陣

為求解伴隨矩陣,需要借鑒上一getA_value 函數(shù)的求解代數(shù)余子式部分,同樣借助for 循環(huán)遍歷矩陣各元素和伴隨矩陣各元素,而后組成伴隨矩陣。

2.3 主函數(shù)main:程序?qū)崿F(xiàn)

如圖1、2、3 所示,測(cè)試每個(gè)函數(shù)和模塊,驗(yàn)證基本功能的準(zhǔn)確性,并對(duì)整個(gè)程序進(jìn)行黑盒測(cè)試,程序良好運(yùn)行。

圖1 測(cè)試案例1

圖2 測(cè)試案例2

圖3 測(cè)試案例3

3 結(jié)論

本文基于C 語言實(shí)現(xiàn)了求解任意階數(shù)方陣的逆矩陣的任務(wù)。算法邏輯清晰簡(jiǎn)潔,融合了高等數(shù)學(xué)、線性代數(shù)等數(shù)學(xué)基礎(chǔ)概念與結(jié)構(gòu)化程序設(shè)計(jì)理念,主要應(yīng)用的數(shù)學(xué)知識(shí)有行列式降階展開定理、伴隨矩陣定義以及(代數(shù))余子式定義等,為日后包括圖像處理與分析、數(shù)據(jù)挖掘和處理、工程數(shù)學(xué)等領(lǐng)域提供了理論和實(shí)踐基礎(chǔ)。

猜你喜歡
行列式代數(shù)矩陣
漢字代數(shù)
字母代數(shù)
范德蒙德行列式在行列式計(jì)算中的應(yīng)用
什么是代數(shù)幾何
計(jì)算行列式的幾種不同方法解析
多項(xiàng)式理論在矩陣求逆中的應(yīng)用
三階行列式計(jì)算的新方法
加項(xiàng)行列式的計(jì)算技巧
一個(gè)新發(fā)現(xiàn)的優(yōu)美代數(shù)不等式及其若干推論
矩陣