示例#1
0
 /// <summary>
 ///Текущее значение функции.
 /// </summary>
 double y(Vectors x)
 {
     return((double)function.DynamicInvoke(x.Vector)); /// Возвращает значение динамической функции уравнения
 }
示例#2
0
 /// <summary>
 ///значение бета по формуле Флетчера-Ривса.
 /// </summary>
 double betaPhitchersRivers(Vectors g2, Vectors g1)
 {
     return((Math.Pow(g2.Norma, 2)) / (Math.Pow(g1.Norma, 2)));
 }
示例#3
0
        /// <summary>
        /// Формула переменной метрики Бройдена–Флетчера–Гольдфарба–Шенно.
        /// </summary>
        Matrix BFGSH(Vectors x2, Vectors x1)
        {
            Vectors gamma  = grad(x2) - grad(x1);
            Vectors S      = A * gamma;
            Vectors deltaX = x2 - x1;

            return(A + (1 + (S * gamma) / (gamma * deltaX)) * ((Vectors.Multiplication(deltaX, deltaX)) / (deltaX * gamma)) - ((Vectors.Multiplication(deltaX, gamma) + Vectors.Multiplication(gamma, deltaX)) / (deltaX * gamma)));
        }