示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="wym">dimensions</param>
        /// <param name="s1">basevector, used for rotation</param>
        /// <param name="a">current orthogonal vectors</param>
        public static void Minim(int wym, double[] s1, double[][] a)
        {
            double c1;

            double[][] b = MatrixKniaz.New(wym, wym);
            int        i, j, k;

            for (i = 0; i < wym; i++)
            {
                for (j = 0; j < wym; j++)
                {
                    c1 = 0;
                    for (k = i; k < wym; k++)
                    {
                        c1 += s1[k] * a[k][j];
                    }
                    b[i][j] = c1;
                }
            }
            for (i = 0; i < wym; i++)
            {
                for (j = 0; j < wym; j++)
                {
                    a[i][j] = b[i][j];
                }
            }
        }