#include <math.h> void chldec2(float **a, int n, float aux[]) { float tammat(int, int, int, int, float **, float **); int k,j; float r,epsnorm; r=0.0; for (k=1; k<=n; k++) if (a[k][k] > r) r=a[k][k]; epsnorm=aux[2]*r; for (k=1; k<=n; k++) { r=a[k][k]-tammat(1,k-1,k,k,a,a); if (r <= epsnorm) { aux[3]=k-1; return; } a[k][k]=r=sqrt(r); for (j=k+1; j<=n; j++) a[k][j]=(a[k][j]-tammat(1,k-1,j,k,a,a))/r; } aux[3]=n; }