Accord.Math.Optimization.BoundedBroydenFletcherGoldfarbShanno.dpofa C# (CSharp) Method

dpofa() private static method

private static dpofa ( double a, int _a_offset, int lda, int n, int &info ) : void
a double
_a_offset int
lda int
n int
info int
return void
        private static void dpofa(double[] a, int _a_offset, int lda, int n, ref int info)
        {
            double t = 0.0d;
            double s = 0.0d;
            int j = 0;
            int jm1 = 0;
            int k = 0;
            {
                for (j = 1; j <= n; j++)
                {
                    info = j;
                    s = 0.0e0;
                    jm1 = (j - 1);
                    if ((jm1 < 1))
                    {
                        goto L20;
                    }

                    {
                        for (k = 1; k <= jm1; k++)
                        {
                            t = (a[(k - (1)) + (j - (1)) * (lda) + _a_offset]
                                - ddot((k - 1), a, (1 - (1)) + (k - (1)) * (lda)
                                + _a_offset, 1, a, (1 - (1)) + (j - (1)) * (lda) + _a_offset, 1));

                            t = (t / a[(k - (1)) + (k - (1)) * (lda) + _a_offset]);
                            a[(k - (1)) + (j - (1)) * (lda) + _a_offset] = t;
                            s = (s + (t * t));
                        }
                    }

                L20:
                    s = (a[(j - (1)) + (j - (1)) * (lda) + _a_offset] - s);
                    // c     ......exit
                    if ((s <= 0.0e0))
                    {
                        goto L40;
                    }

                    a[(j - (1)) + (j - (1)) * (lda) + _a_offset] = System.Math.Sqrt(s);
                }
            }

            info = 0;

        L40:
            return;
        }