Читать книги » Книги » Научные и научно-популярные книги » Математика » Владимир Дьяконов - Maple 9.5/10 в математике, физике и образовании

Владимир Дьяконов - Maple 9.5/10 в математике, физике и образовании

Читать книгу Владимир Дьяконов - Maple 9.5/10 в математике, физике и образовании, Владимир Дьяконов . Жанр: Математика.
Владимир Дьяконов - Maple 9.5/10 в математике, физике и образовании
Название: Maple 9.5/10 в математике, физике и образовании
ISBN: -
Год: -
Дата добавления: 15 февраль 2019
Количество просмотров: 187
(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
Читать онлайн

Maple 9.5/10 в математике, физике и образовании читать книгу онлайн

Maple 9.5/10 в математике, физике и образовании - читать онлайн , автор Владимир Дьяконов
Книга является справочником и руководством пользователя по новейшим системам символьной (аналитической) математики — Maple 9.5 и Maple 10. Это признанные мировые лидеры в области аналитических вычислений, прошедшие серьезную сертификацию в этой области. Кратко описан интерфейс систем и подробно их обширные возможности в математике, физике и образовании. Особое внимание уделено технике практических вычислений и визуализации их результатов, а также решению дифференциальных уравнений различного типа. Описаны средства символьных и численных вычислений, графические и программные возможности систем, пакеты их расширения, маплеты и практика применения Maple в математических и физических расчетах. Прилагаемый CD-ROM содержит более 340 файлов с примерами вычислений. Для научно-технических работников, студентов и преподавателей университетов и вузов.
1 ... 59 60 61 62 63 ... 125 ВПЕРЕД
Перейти на страницу:

Отметим определения указанных функций:

G(n,a,x) — полином Гегенбауэра (из семейства ультрасферических полиномов);

H(n,x) — полином Эрмита;

L(n,x) — полином Лагерра;

L(n,a,x) — обобщенный полином Лагерра;

P(n,x) — полином Лежандра;

P(n,a,b,x) — полином Якоби;

T(n,x) — обобщенный полином Чебышева первого рода;

U(n,x) — обобщенный полином Чебышева второго рода.

Свойства ортогональных многочленов хорошо известны. Все они характеризуются целочисленным порядком n, аргументом х и иногда дополнительными параметрами а и b. Существуют простые рекуррентные формулы, позволяющие найти полином n-го порядка по значению полинома (n-1)-го порядка. Эти формулы и используются для вычисления полиномов высшего порядка.

5.4.2. Вычисление ортогональных полиномов

Ниже представлены примеры вычисления ортогональных полиномов (файл orthpol):

> G(0, 1, х);

1

> G(1, 1, х);

> G(1, 1, 5);

10

> Н(3, х);

8x³ - 12х

> L(3, х);

> L(2, а, х);

> Р(2, х);

> Р(2, 1, 1, х);

> Т(5, х);

16х5 - 20х3 + 5х

> U(5, х);

32х5 - 32х3 + 6х

В отличие от ряда элементарных функций, ортогональные многочлены определены только для действительного аргумента х. При комплексном аргументе ранее результат просто повторял исходное выражение с многочленом:

> evalf(U(2,2+3*I));

Р(2, 2+3I)

Но уже в Maple 9 ортогональные полиномы с комплексными аргументами могут вычисляться:

> evalf(U(2,2+3*I));

-21. +48.I

Ортогональные многочлены не определены и для дробного показателя n. Впрочем, надо отметить, что такие многочлены на практике используются крайне редко.

5.4.3. Построение графиков ортогональных полиномов

Представляет интерес построение графиков ортогональных многочленов. На рис. 5.6 построены графики ряда многочленов Гегенбауэра и Эрмита. На рис. 5.7 построены графики ортогональных многочленов Лагерра и Лежандра. Наконец на рис. 5.8 даны графики ортогональных многочленов Чебышева T(n, х) и U(n, x).

Рис. 5.6. Графики ортогональных многочленов Гегенбауэра и Эрмита

Рис. 5.7. Графики ортогональных многочленов Лагерра и Лежандра

Рис. 5.8. Графики ортогональных многочленов Чебышева

Приведенные графики дают начальное представление о поведении ортогональных многочленов. К примеру, многочлены Чебышева имеют минимальное отклонение от оси абсцисс в заданном интервале изменения х. Это их свойство объясняет полезное применение таких многочленов при решении задач аппроксимации функций, которые рассматриваются в этой главе далее. Можно порекомендовать читателю по их образцу и подобию построить графики ортогональных многочленов при других значения параметра n и диапазонах изменения аргумента х.

5.4.4. Работа с рядами ортогональных многочленов

Для работы с рядами ортогональных многочленов имеется пакет OrthogonalSeries для работы с рядами ортогональных многочленов. Он имеет довольно представительный набор функций:

> with(OrthogonalSeries);

[Add, ApplyOperator, ChangeBasis, Coefficients, ConvertToSum, Copy, Create, Degree, Derivate, DerivativeRepresentation, Evaluate, GetInfo, Multiply, PolynomialMultiply, ScalarMultiply, SimplifyCoefficients, Truncate]

Поскольку этот пакет представляет интерес, в основном, для опытных математиков, мы не будем рассматривать его функции (в целом достаточно простые) подробно и ограничимся несколькими примерами. В следующем примере с помощью функции Create создается бесконечный ряд с ортогональным многочленом Эрмита в составе базового выражения ряда:

> OrthogonalSeries[Create](u(n),HermiteH(n,x));

В другом примере показано представление полиномиального выражения в новом базисе с ортогональными многочленами Чебышева с помощью функции ChangeBasis:

> OrthogonalSeries[ChangeBasis](1+3*у*х^2+у^3*х,

 ChebyshevT(n,х), ChebyshevU(m, y));

1 + ¾ChebyshevT(2, x) ChebyshevU(1, y) + ¾ChebyshevU(1, y) + ½ChebyshevT(1, x) ChebyshevU(1, y)

> OrthogonalSeries[Evaluate](%);

3x²y + yx + 1

Обратите внимание на то, что новое выражение после исполнения команды Evaluate приняло вид исходного выражения.

Следующий пример демонстрирует создание ряда на основе ортогональных многочленов Чебышева и его копирование с помощью функции Сору:

> S:=Create((-1)^n/n!, ChebyshevT(n, х));

> Т:=Сору(S);

Вычисление производной от ряда с ортогональными многочленами представлено ниже:

> S := Create(u(n),ChebyshevT(n,х));

> Derivate(S, х);

Еще один пример демонстрирует операцию скалярного умножения ряда с помощью функции ScalarMultiply:

> S := Create(n+1,Kravchouk(n,p,q,x));

> ScalarMultiply(alpha, S);

> simplify(%);

5.5. Пакет PolynomialTools

5.5.1. Обзор возможностей пакета PolynomialTools

Для выполнения ряда специальных операций с полиномами или создания полиномов с заданными свойствами служит пакет PolynomialTools. Этот пакет имеет небольшое число функций:

> with(PolynomialTools);

[CoefficientList, CoefficientVector, Hurwitz, IsSelfReciprocal, MinimalPolynomial , PDEToPolynomial, PolynomialToPDE, Shorten, Shorter, Sort, Split, Splits, Translate]

В пакет входят функции расщепления, сортировки и преобразования полиномов (в том числе в дифференциальные уравнения и наоборот) и др.

5.5.2. Функции для работы с полиномами

Рассмотрим несколько функций пакета PolynomialTools общего характера.

Функция IsSelfReciprocal(a, х, 'р') — проверяет полином а(х) на условие соeff(a,x,k)=coeff(a,x,d-k) для всех k=0..d, где d=degree(a, х) — порядок полинома. Если это условие выполняется, то возвращается логическое значение true, иначе — false. Если порядок d четный и если задан третий аргумент р, то р будет представлять полином P порядка d/2, такой, что x^(d/2)*P(x+1/x)=а. При нечетном d, полином а будет взаимо-обратным, что подразумевает деление на х+1. В этом случае если p указано, результат вычисляется в форме а/(х+1).

Примеры применения этой функции представлены ниже (файл poltools):

> with(PolynomialTools):

IsSelfReciprocal(х^4+х^3+х+1, x, 'p');

true

> p;

-2 + x + x²

> IsSelfReciprocal(х^5-3*х^4+х^3+х^2-3*х+1, x, 'p');

true

> p;

3-4x+x²

> r := evalf(1+sqrt(2));

r := 2.414213562

Функция MinimalPolynomial(r, n, acc) возвращает полином минимальной степени не превышающей n, имеющий корень r. Необязательный аргумент acc задает погрешность приближения. Функция MinimalPolynomial(r, n) использует решетчатый алгоритм и находит полином степени n (или менее) с наименьшими целыми коэффициентами. Корень r может быть действительным или комплексным. Результат зависит от значения переменной окружения Digits. По умолчанию acc задано как 10^(Digits-2). Примеры применения данной функции:

> MinimalPolynomial(r, 2);

-1 - 2_Х + _Х²

> r := 1+sqrt(2);

r:= 1 + √2

> ( r, 2 );

1+√2, 2

> MinimalPolynomial( 1.234, 3 );

-109 + 61_Х - 5_Х² + 22_ X³

> fsolve( %, X );

1.234000001

Функция Split(a, х, b) служит для расщепления полинома а с независимой переменной х. Параметр b — не обязательный. Функция Split(a, х) осуществляет комплексную факторизацию инвариантного полинома а по х. Если третий аргумент b задан, он представляет множество элементов {t1, … ,tm}, таких что полином а расщепляется над K=Q(t1, …, tm), где Q означает поле рациональных чисел.

Примеры:

> Split(х^2+х+1,х);

(х - RootOf(_Z² + _Z + 1))(х + 1 + RootOf(_Z² + _Z + 1))

> Split(х^2+у*х+1+у^2, x, 'b');

(x - RootOf(_Z² + y_Z + 1 + r))(x + y + RootOf(_Z² + y_Z + 1 + y²))

> b;

{RootOf(_Z² + у _Z + 1 + y²)}

В пакете определена еще одна подобная функция Splits, с которой можно познакомиться по справке на нее.

Функция Translate(a, х, х0) преобразует полином а(х) с подстановкой х=х+х0, где х0 — константа. Примеры применения этой функции даны ниже:

> Translate(х^2, х, 1);

1 + 2x + x²

> expand(eval(х^2,х=х+1));

1 + 2х + х²

> Translate(х^3,х,2);

8 + 12х + 6х² + х³

> expand(eval(х^3,х=х+2));

8 + 12х + 6х² + х³

> Translate((х+1)^3,х,-1);

5.5.3. Функции сортировки полиномов

Для сортировки полиномов предназначены следующие три функции:

Shorter(f, g, х)

1 ... 59 60 61 62 63 ... 125 ВПЕРЕД
Перейти на страницу:
Комментарии (0)