Accord.Math.Optimization.QuadraticObjectiveFunction.createQuadraticTermsMatrix C# (CSharp) Method

createQuadraticTermsMatrix() private method

private createQuadraticTermsMatrix ( ) : ].double[
return ].double[
        private double[,] createQuadraticTermsMatrix()
        {
            int n = Variables.Count;

            double[,] Q = new double[n, n];
            for (int i = 0; i < n; i++)
            {
                var x = Indices[i];
                for (int j = 0; j < n; j++)
                {
                    var y = Indices[j];
                    var k = Tuple.Create(x, y);

                    if (quadratic.ContainsKey(k))
                    {
                        double s = quadratic[k];
                        Q[i, j] = s;
                        Q[j, i] = s;
                    }
                }
            }

            for (int i = 0; i < n; i++)
                Q[i, i] *= 2;

            return Q;
        }