LU分解(C#实现)
LU分解实现代码如下:
1.LU类
using System;
namespace Line
{
class LU:Gauss
{
//计算第k行和第k列元素
public void CalculateCowCol()
{
for (int k = 0; k <= n - 1; k++)
{
//计算各行的元素值
for (int j = k; j <= n; j++)
{
double sum = 0;
for (int r = 0; r <= k - 1; r++)
{
sum += a[k, r] * a[r, j];
}
a[k, j] = a[k, j] - sum;
}
//计算各列的元素值
for (int i = k + 1; i <= n - 1; i++)
{
double sum = 0;
for (int r = 0; r <= k - 1; r++)
{
sum += a[i, r] * a[r, k];
}
a[i, k] = (a[i, k] - sum) / a[k, k];
}
}
}
public void _LU()
{
InPut(ref n,ref a);
Console.WriteLine("——————————方程系数如下——————————");