национальный исследовательский томский политехнический университет
Скачать 1.38 Mb.
|
30 〈??????,?????? ′ 〉 〈??????,?????? ′ 〉 = 〈 ?????? ?????? , ?????? ′ ??????−???????????? ′ ?????? ?????? 〉 , ?????? ≠ ??????, (3.31) ??????????????????〈??????, ?????? ′ 〉 = 〈?????????????????? (??????), ?????? ′ ?????????????????? (??????)〉, (3.32) ??????????????????〈??????, ?????? ′ 〉 = 〈?????????????????? (??????), −?????? ′ ??????????????????(??????)〉, (3.33) ??????????????????〈??????, ?????? ′ 〉 = 〈??????????????????(??????), ?????? ′ ??????????????????(??????)〉, (3.34) ??????????????????〈??????, ?????? ′ 〉 = 〈?????????????????? (??????), ?????? ′ ?????? 〉 , ?????? > ??????, (3.35) 〈??????, ?????? ′ 〉 ?????? = 〈?????? ?????? , ???????????? ??????−?????? ?????? ′ 〉, ?????? ≠ ??????, (3.36) |??????, ?????? ′ | = 〈|??????|, ?????? ′ ????????????????????????(??????)〉, ?????? ≠ ??????. (3.37) Для первообразной функции ?????? справедливо выражение: ??????(〈??????, ?????? ′ 〉, 〈??????, ?????? ′ 〉) = 〈??????(??????, ??????), ?????? ?????? (??????, ??????)?????? ′ + ?????? ?????? (??????, ??????)?????? ′ 〉, (3.38) где ?????? ?????? и ?????? ?????? – производные ?????? относительно первого и второго аргументов [6]. Если для заданного выражения мы начнём вычисления по выписанным формулам (3.28)–(3.37), заменив исходную переменную ?????? на пары (??????, ??????), а константы ?????? – на пары вида (??????, ??????), то на выходе получим пару, состоящую из численных значений выражения и производной от него в точке ??????. Это рассуждение очевидно обобщается на случай, когда функция зависит от нескольких переменных. 3.2.5 Существующие библиотеки АД В настоящее время для расчёта производных можно использовать готовые библиотеки автоматического дифференцирования (АД), однако они в совокупности имеют ряд недостатков: отсутствие обновлений и/или технической поддержки; сложности при внесении изменений; вопрос внедрения готовой АД библиотеки в уже существующий и работающий без АД код ещё не исследован (это может вызывать сложности и требовать больше времени, чем самостоятельная разработка). 31 3.3 Разработка алгоритмов и программы автоматического дифференцирования применительно к задачам финансовой математики 3.3.1 Описание алгоритмов автоматического дифференцирования Алгоритмы АД могут быть представлены последовательностью шагов, структурные схемы которых изображены на рисунке 3.3 для прямого режима и на рисунке 3.4 для обратного режима. 32 Рисунок 3.3 – Структурная схема прямого режима Да Начало Ввод переменных ?????? = ??????(?????? ?????? , ?????? ?????? , . . . , ?????? ?????? ) ?????? = ??????, ?????? ?????? ?????? = ?????? ?????? Требуется ???????????? ???????????? ?????? ??????̇ ?????? = ?????? ??????̇ ?????? = ?????? ?????? = ?????? + ??????, ?????? ?????? ?????? = ??????(?????? ??????−?????? , … , ?????? ?????? )согласно пп. 3.2.2, 3.2.4 ??????̇ ?????? согласно п. 3.2.4 Вывод ?????? ?????? , ??????̇ ?????? Конец 33 Рисунок 3.4 – Структурная схема обратного режима Начало Ввод переменных ?????? = ??????(?????? ?????? , ?????? ?????? , . . . , ?????? ?????? ) ?????? = ??????, ?????? ?????? ?????? = ?????? ?????? ?????? = ?????? + ??????, ?????? ?????? ̅ ?????? = ?????? ̅ ??????+?????? ???????????? ??????+?????? ???????????? ?????? Вывод ?????? ?????? , ?????? ̅ ?????? , ?????? = ??????, ?????? Конец ?????? ̅ ?????? = ?????? ?????? = ?????? − ??????, ?????? ?????? ?????? = ??????(?????? ??????−?????? , … , ?????? ?????? )согласно п. 3.2.3 |