chodcm.cpp
来自「Visual C++ 常用数值算法集 源代码」· C++ 代码 · 共 35 行
CPP
35 行
void chodcm(double a[], int n, double d[], double t[])
{
int i,j,k;
double sum;
for (i = 1; i<=n; i++)
{
sum = a[(i-1)*n+i];
for (j = 1; j<=i - 1; j++)
{
t[j] = a[(j-1)*n+i];
for (k = 1; k<=j - 1; k++)
{
t[j] = t[j] - t[k] * a[(j-1)*n+k];
}
if (d[j] == 0.0)
{
if (t[j] != 0.0)
{
cout<<"no cholesky decomposition"<<endl;
}
else
{
a[(i-1)*n+j] = 1.0;
}
}
else
{
a[(i-1)*n+j] = t[j] / d[j];
}
sum = sum - t[j] * a[(i-1)*n+j];
}
d[i] = sum;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?