计算矩阵逆的对角线的有效方法

时间:2017-07-18 20:48:50

标签: r matrix-inverse

计算对称密集矩阵(private void Form1_Load(object sender, EventArgs e) { string[] singleArray = File.ReadAllLines("path to your file"); // alternatively, for testing: //string[] singleArray = {"http://www.google.com", "http://www.microsoft.com", "http://www.stackoverflow.com"}; tableLayoutPanel1.ColumnCount = 1; tableLayoutPanel1.RowCount = singleArray.Length; for (int i = 0; i < singleArray.Length; i++) { // create a new link label and set some properties LinkLabel linkLabel = new LinkLabel(); linkLabel.Text = "I am link label #" + i; LinkLabel.Link linkLabelLink = new LinkLabel.Link(); linkLabelLink.LinkData = singleArray[i]; // tell the label to open a browser upon a click linkLabel.LinkClicked += (o, args) => System.Diagnostics.Process.Start(args.Link.LinkData as string); linkLabel.Links.Add(linkLabelLink); // add new link label to row i in colum 0 tableLayoutPanel1.Controls.Add(linkLabel, 0, i); } } )的逆的对角线的最佳方法是什么?目前,我首先使用2000 * 2000计算逆,然后提取对角线(solve(x))。尽管它有效,但我想知道是否有更好的方法来实现它,因此代码运行得更快。我试过了diag(y),但由于我的矩阵不是正确的,所以它没有用。

更新: 对于任何可能感兴趣的人,我能够通过使用优化的数学库英特尔MKL来加速矩阵求逆。在我的机器上反转2000 * 2000矩阵需要3秒钟。英特尔MKL适用于Microsoft R Open。​​

1 个答案:

答案 0 :(得分:0)

如果你的矩阵没有很好的属性,比如对称,对角线或正定,那你唯一的选择就是做int

在矩阵上运行需要多长时间?