高斯约旦消元被卡精度怎么办
  • 板块学术版
  • 楼主5_Lei
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/2/24 15:26
  • 上次更新2023/10/23 23:57:58
查看原帖
高斯约旦消元被卡精度怎么办
277793
5_Lei楼主2023/2/24 15:26

各种eps都试过了,long double也不行。

void guass(ll n)
{
    ll heng = 1;
    for(int i = 1 ; i <= n ; i++)
    {
        ll mx = heng;
        for(int j = heng + 1 ; j <= n ; j++)if(fabs(a[j][i]) - fabs(a[mx][i]) > eps)mx = j;
        if(fabs(a[mx][i]) < eps)continue;
        for(int j = 1 ; j <= n + 1 ; j++)swap(a[heng][j],a[mx][j]);
        for(int j = 1 ; j <= n ; j++)
        {
            if(heng == j)continue;
            db t = a[j][i] / a[heng][i];
            for(int k = 1 ; k <= n + 1 ; k++)a[j][k] -= a[heng][k] * t;
        }
        heng++;
    }
}
2023/2/24 15:26
加载中...