Файл:Coordinate descent.svg

Матеріал з testwiki
Перейти до навігації Перейти до пошуку
Повна роздільність (SVG-файл, номінально 900 × 900 пікселів, розмір файлу: 56 КБ)

Цей файл з Вікісховища і може використовуватися в інших проєктах. Далі наведена інформація з його сторінки опису.

Опис файлу

Опис
English: Coordinate descent with cyclic iteration of the coordinates. In each iteration a line search is done to find the step.
Час створення
Джерело Власна робота
Автор Nicoguaro
SVG розвиток
InfoField
 Вихідний код цього SVG-файлу правильний.
 Це векторне зображення було створено з допомогою Matplotlib
 The file size of this SVG plot may be irrationally large because its text has been converted to paths inhibiting translations.
Сирцевий код
InfoField

Python code

from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import line_search
from matplotlib import rcParams

rcParams['font.family'] = 'serif'
rcParams['font.size'] = 16


def fun(x, y):
    return 5*x**2 - 6*x*y + 5*y**2


def f(x):
    x1 = x[0]
    x2 = x[1]
    return fun(x1, x2)


def g(x):
    x1 = x[0]
    x2 = x[1]
    g1 = 10*x1 - 6*x2
    g2 = -6*x1 + 10*x2
    return [g1, g2]


X, Y = np.mgrid[-1.5:1.5:101j, -1.5:1.5:101j]
Z = fun(X, Y)
levels = np.linspace(0.5, 5, 6)
plt.figure(figsize=(10, 10))
CS = plt.contour(X, Y, Z, levels=levels, colors='k')
plt.clabel(CS)
xk = np.array([-0.5, -1])
pk = np.array([0., 1.])
for k in range(10):
    res = line_search(f, g, xk, pk)
    alpha = res[0]
    xnew = xk + 0.6*alpha*pk
    pk = pk[::-1]
    plt.arrow(xk[0], xk[1], xnew[0] - xk[0], xnew[1] - xk[1],
              fc='r', ec='r',
              length_includes_head=True)
    xk = xnew

plt.axis('image')
plt.xlabel(r'$x$', size=18)
plt.ylabel(r'$y$', size=18)
plt.title(r'$f(x,y) = 5x^2 - 6xy + 5y^2$')
plt.savefig('coordinate descent.svg')
plt.show()

Ліцензування

Я, власник авторських прав на цей твір, добровільно публікую його на умовах такої ліцензії:
w:uk:Creative Commons
зазначення авторства
Цей файл доступний на умовах ліцензії Creative Commons Із зазначенням авторства 4.0 Міжнародна
Ви можете вільно:
  • ділитися – копіювати, поширювати і передавати твір
  • модифікувати – переробляти твір
При дотриманні таких умов:
  • зазначення авторства – Ви повинні вказати авторство, надати посилання на ліцензію і вказати, чи якісь зміни було внесено до оригінального твору. Ви можете зробити це в будь-який розсудливий спосіб, але так, щоб він жодним чином не натякав на те, наче ліцензіар підтримує Вас чи Ваш спосіб використання твору.

Підписи

Додайте однорядкове пояснення, що саме репрезентує цей файл

Об'єкти, показані на цьому файлі

зображує

56 909 байт

900 піксель

900 піксель

Історія файлу

Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.

Дата/часМініатюраРозмір об'єктаКористувачКоментар
поточний01:10, 10 січня 2016Мініатюра для версії від 01:10, 10 січня 2016900 × 900 (56 КБ)wikimediacommons>NicoguaroAdd labels to the contours.

Така сторінка використовує цей файл: