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

formt() private static method

private static formt ( int m, double wt, int _wt_offset, double sy, int _sy_offset, double ss, int _ss_offset, int col, double theta, int &info ) : void
m int
wt double
_wt_offset int
sy double
_sy_offset int
ss double
_ss_offset int
col int
theta double
info int
return void
        private static void formt(int m,
            double[] wt, int _wt_offset,
            double[] sy, int _sy_offset,
            double[] ss, int _ss_offset,
            int col, double theta, ref int info)
        {

            int i = 0;
            int j = 0;
            int k = 0;
            int k1 = 0;

            double ddum = 0.0d;
            {
                for (j = 1; j <= col; j++)
                {
                    wt[(1 - (1)) + (j - (1)) * (m) + _wt_offset] = (theta * ss[(1 - (1))
                        + (j - (1)) * (m) + _ss_offset]);
                }
            }

            {
                for (i = 2; i <= col; i++)
                {
                    {
                        for (j = i; j <= col; j++)
                        {
                            k1 = (System.Math.Min(i, j) - 1);

                            ddum = 0.0;
                            {
                                for (k = 1; k <= k1; k++)
                                {
                                    ddum = (ddum + ((sy[(i - (1)) + (k - (1)) * (m)
                                        + _sy_offset] * sy[(j - (1)) + (k - (1)) * (m)
                                        + _sy_offset]) / sy[(k - (1)) + (k - (1)) * (m) + _sy_offset]));
                                }
                            }

                            wt[(i - (1)) + (j - (1)) * (m) + _wt_offset] = (ddum
                                + (theta * ss[(i - (1)) + (j - (1)) * (m) + _ss_offset]));
                        }
                    }
                }
            }

            // 
            // c     Cholesky factorize T to J*J' with 
            // c        J' stored in the upper triangle of wt.
            // 
            dpofa(wt, _wt_offset, m, col, ref info);

            if ((info != 0))
            {
                info = -3;
            }
        }