簡體   English   中英

在C ++中計算矩陣的行列式而不創建子矩陣

[英]Calculating determinant of Matrix in C++ without creating submatrices

有沒有一種方法可以在C ++中僅使用一個變量(第一個加載的矩陣)來確定給定矩陣的行列式,而在下一個遞歸函數中僅使用該矩陣的引用來確定矩陣的行列式?

如何僅使用第一個矩陣中的元素及其坐標,如何使用矩陣中元素的坐標來確定給定矩陣的子矩陣的行列式而不將其創建為矩陣? 可以使用遞歸來完成,還是不應該使用遞歸?

如果您要使用Cramer規則為大於3x3的任何大小的矩陣計算行列式,那么您肯定做錯了。 性能會很糟糕。

您可能認為最簡單的方法是使用行減少將其變成上三角矩陣。 找到上三角矩陣的行列式很容易-只需將對角線相乘即可。 至於其余的,只需乘以您使用的常數,並記住每次交換都是-1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM