Степенныe ряды представленные в виде бесконечных потоков
В разделе 2.5.3 мы увидели, как реализовать систему арифметики многочленов, используя представление многочленов в виде списка термов. Подобным же образом можно работать со степенными рядами (power series), например

представленными в виде бесконечных потоков. Будем представлять последовательность a₀ + a₁x + a₂x² + a₃x³ + ··· как поток, элементами которого являются коэффициенты a₀, a₁, a₂, a₃, ... .
а. Интеграл последовательности a₀ + a₁x + a₂x² + a₃x³ + ··· есть последовательность

где c — произвольная константа. Определите процедуру integrate-series , которая на входе принимает поток a₀, a₁, a₂, ... , представляющую степенной ряд, и возвращает поток a₀, (1/2)a₁, (1/3)a₂, ... коэффициентов при неконстантных членах интеграла последовательности. (Поскольку в результате отсутствует постоянный член, он не представляет собой степенной ряд; при использовании integrate-series мы через cons будем присоединять к началу соответствующую константу.)
б. Функция x → eˣ равна своей собственной производной. Отсюда следует, что eˣ и интеграл eˣ суть одна и та же последовательность, с точностью до постоянного члена, который равен e⁰ = 1 . Соответственно, можно породить последовательность для eˣ через
(define exp-series
(cons-stream 1 (integrate-series exp-series)))
Покажите, как породить последовательности для синуса и косинуса, опираясь на то, что производная синуса равна косинусу, а производная косинуса равна минус синусу:
(define cosine-series
(cons-stream 1 ))
(define sine-series
(cons-stream 0 ))
Комментарии отсутствуют.