Урок 11. Математические пакеты расширения
-
Урок 11. Математические пакеты расширения
Урок 11. Математические пакеты расширения Математические пакеты расширения Общие замечания по пакетам расширения Пакет алгебраических функций Algebra Решение неравенств Функции для представления к...
Математические пакеты расширенияМатематические пакеты расширения Пакет алгебраических функций Algebra Пакет вычислительных функций Calculus Пакет дискретной математики DiscreteMath Геометрические расчеты — пакет Geometry Линейна...
Общие замечания по пакетам расширенияОбщие замечания по пакетам расширения Пакеты расширения системы Mathematica (Add-ons) являются наборами файлов с расширением .т, написанными на языке программирования системы и объединенными под и...
Пакет алгебраических функций Algebra
Пакет алгебраических функций Algebra...
Решение неравенствРешение неравенств Пакет расширения Algebra содержит ряд новых функций для работы с неравенствами, ограниченными полями и полиномами. Для доступа сразу ко всем функциям пакета используется команда...
Функции для представления комплексных данных — RelmФункции для представления комплексных данных — Relm Подпакет Relm обеспечивает переназначение функций комплексной переменно!! для более корректной их работы: Algebra`ReIm` Re[l/x+l/y] Re[x]/(Im[x]...
Операции в конечных полях — FiniteFieldsОперации в конечных полях — FiniteFields Поле является алгебраическим понятием, которое может быть определено как множество, имеющее не менее двух элементов, над которыми заданы две бинарные ассоц...
Оценка интервалов изоляции корней полиномов — RootlsolationОценка интервалов изоляции корней полиномов — Rootlsolation Следующие функции подпакета Rootlsotation позволяют оценивать интервалы изоляции для действительных и комплексных корней полиномов: Coun...
Операции с полиномамиОперации с полиномами Если конечные поля — понятие достаточно экзотическое, то полиномы встреча- ются сплошь и рядом во многих математических и научно-технических расчетах. В пакете расширения Alg...
Преобразование полиномов в схему Горнера — HornerПреобразование полиномов в схему Горнера — Horner Подпакет Horner в системе Mathematica 4 реализует хорошо известную схему вычисления полиномов — схему Горнера. При ней операции возведения в степе...
Пакет вычислительных функций CalculusПакет вычислительных функций Calculus Пакет расширения Calculus содержит представительный набор функций для решения дифференциальных уравнений, задания функций единичного скачка и импульса, выполн...
Решение дифференциальных уравнений — DSolvelntegralsРешение дифференциальных уравнений — DSolvelntegrals Многие нелинейные дифференциальные уравнения не имеют общего решения. В под-пакете DSolvelntegrals определены функции, позволяющие найти решени...
Дельта-функция Дирака — DiracDeltaДельта-функция Дирака — DiracDelta В подпакете DiracDelta системы Mathematica 3 задано определение двух полезных функций Дирака: UnitStep [х] — возвращает функцию с единичным скачком при х = 0 (да...
Пример 11.1. Робота с функцией единичного скачка и дельта-функцией ДиракаПример 11.1. Робота с функцией единичного скачка и дельта-функцией Дирака Обе описанные функции широко применяются при решении задач автоматического регулирования и при математическом моделировани...
Улучшенное вычисление пределов — LimitУлучшенное вычисление пределов — Limit Подпакет Limit не создает новых функций. Он просто переопределяет встроенную функцию Limit, так что ограничимся примерами его применения: Calculus` Limit` Li...
Рациональная аппроксимация аналитических функций — FadeРациональная аппроксимация аналитических функций — Fade Полиномиальная аппроксимация и обычное разложение функций в ряд Тейлора нередко дают слишком большую погрешность. Уменьшение ее возможно при...
Пример 11.2. Пример, осуществления аппроксимации ПадеПример 11.2. Пример, осуществления аппроксимации Паде Пример осуществления экономичной рациональной аппроксимации показан на рис. 11.3. Здесь также дана визуализация аппроксимации в виде наложенны...
Пример 11.3. Пример осуществления экономичной рациональной аппроксимацииПример 11.3. Пример осуществления экономичной рациональной аппроксимации Экономичная рациональная аппроксимация обычно позволяет получить приемлемую погрешность при меньшей степени полиномов числи...
Пример 11.4. Пример осуществления...Пример 11.4. Пример осуществления экономичной рациональной аппроксимации с построением графика погрешности Несмотря на обширные возможности выбора средств аппроксимации, все же надо отметить, что...
Векторный анализ —VectorAnalysisВекторный анализ —VectorAnalysis Подпакет VectorAnalysis содержит множество функций, используемых при выполнении векторного анализа. Здесь надо иметь в виду, что речь идет не о векторах как предст...
Вариационные методы —VariationalMethodsВариационные методы —VariationalMethods Подпакет VariationaLMethods содержит функции для реализации вариационных методов. Напомним, что вариационные методы заменяют минимизацию функционала, заданн...
Пакет дискретной математики DiscreteMathПакет дискретной математики DiscreteMath Пакет DiscreteMath задает набор функций дискретной математики. Это прежде всего функции комбинаторики и работы с графами (более 230 функций). Мы вынуждены...
Комбинаторика и ее функции — Combinatorica и CombinatorialFunctionsКомбинаторика и ее функции — Combinatorica и CombinatorialFunctions Несколько функций комбинаторики (Factorial, Factorial2, Binomial, Multinomial, Pochhammer и Fibonacci) могут использоваться без...
Пример 11.5.Пример 11.5. Примеры работы с подпакетом функций комбинаторики Подпакет Combinatorica задает определение ряда функций комбинаторики и теории графов. Ниже представлены имена функций комбинаторики....
Пример 11.6.Пример 11.6. Примеры работы с функциями разделения, композиции и картин Янга Этих примеров достаточно, чтобы заинтересованный читатель по их образцу и подобию изучил свойства и возможности нужных...
Графы и их функцииГрафы и их функции Mathematica имеет самые обширные возможности решения задач, связанных с графами. Задание графов и манипуляции с ними также включены в пакет комбинаторики. Они представлены четыр...
Пример 11.7.Пример 11.7. Пример построения полного графа и его таблицы...
Пример 11.8.Пример 11.8. Построение графа звезды и подграфа...
Пример 11.9.Пример 11.9. Примеры построения графов с помощью функций Contractn GridGraph Приведенный выше набор функций позволяет строить практически любые виды графов и обеспечивает высокую степень их визуал...
Пример 11.10.Пример 11.10. Создание графов с помощью функций GraphUnion и GraphProduct С действием других функций нетрудно ознакомиться самостоятельно. Свойства графов ArticulationVertices Automorphisms Bi Con...
Пример 11.11.Пример 11.11. Построение графов — ориентированного (сверху) и с маркированными вершинами (снизу) Построение широко используемой в теории графов диаграммы Хассе (Hasse) иллюстрирует рис. 11.12. Алг...
Функции вычислительной геометрии — ComputationalGeometryФункции вычислительной геометрии — ComputationalGeometry В подпакете ComputationalGeometry заданы следующие функции, относящиеся к геометрическим поверхностям: ConvexHull [ { {xl, yl...}, {х2, у2,...
Пример 11.14.Пример 11.14. Пример построения планарного графа и его выпуклой огибающей Выполнение триангуляции Делоне иллюстрирует рис. 11.15....
Пример 11.15.Пример 11.15. Выполнение триангуляции Делоне Наконец, на рис. 11.16 показаны результаты действия еще двух функций — построение диаграммы и триангуляция в пространстве....
Пример 11.16.Пример 11.16. Построение диаграммы (сверху) и триангуляция в пространстве (снизу)...
Дискретные функции единичного скачка и импульса — KroneckerDeltaДискретные функции единичного скачка и импульса — KroneckerDelta В подпакете KroneckerDelta системы Mathematica 3 заданы дискретные функции единичного скачка и единичного импульса: DiscreteStep [n...
Пример 11.17.Пример 11.17. Пример применения функции скачка в двумерном случае В системе Mathematica 4 функция KroneckerDelta стала встроенной. В данный подпакет входят еще две функции: SimplifyDiscreteStep [е...
Дискретные перестановки — PermutationsДискретные перестановки — Permutations В подпакете Permutations определен ряд функций дискретных перестановок: RandomPermutation [n] — случайные перестановки из n элементов; Ordering [list] — дает...
Решение рекуррентных разностных уравнений — RSolveРешение рекуррентных разностных уравнений — RSolve Для решения рекуррентных разностных уравнений в подпакет RSolve введены следующие функции: RSolve [eqn, a [n] , n] — решает рекуррентное уравнени...
Деревья—TreeДеревья—Tree Подпакет Tree содержит функции создания и применения древовидных структур, именуемых деревьями. Вот эти функции: MakeTree [list] — создает дерево по информации, представленной в списк...
Пример 11.18.Пример 11.18. Примеры визуализации деревьев...
Пример 11.19Пример 11.19 . Построение графиков деревьев с помощью функции ExprPlot...
Геометрические расчеты — пакет GeometryГеометрические расчеты — пакет Geometry В этом разделе описан пакет Geometry, содержащий ряд функций, полезных при выполнении геометрических расчетов. В основном это функции, относящиеся к построе...
Характеристики регулярных полигонов и полиэдров — PolytopesХарактеристики регулярных полигонов и полиэдров — Polytopes Подпакет Polytopes содержит ряд функций для регулярных полигонов (многоугольников): NumberOfVertices [р] — число вершин углов полигона;...
Пример 11.20. Примеры работы с функциями полигоновПример 11.20. Примеры работы с функциями полигонов Здесь наименование полиэдра может быть следующим: Tetrahedron (4) Cube (6) Octahedron (8) Didecahedron (12) Icosahedron (20) Примеры применения ф...
Вращение фигур на плоскости и в пространстве — RotationsВращение фигур на плоскости и в пространстве — Rotations Для задания поворота плоских фигур на заданный угол в подпакете Rotations заданы следующие функции: RotationMatrix2D[theta] — дает матрицу...
Пример 11.21. Работа с функциями поворотаПример 11.21. Работа с функциями поворота Аналогичные функции существуют и для поворота трехмерных фигур: RotationMatrix3D [psi, theta,phi] — дает матрицу поворота на заданные углы в трехмерном пр...
Линейная алгебра— пакет LinearAlgebraЛинейная алгебра— пакет LinearAlgebra Пакет расширения LinearAlgebra добавляет ряд новых функций, полезных при решении сложных задач линейной алгебры....
Декомпозиция Холесского — CholeskyДекомпозиция Холесского — Cholesky Подпакет Cholesky содержит единственную функцию HoleskyDecomposition [m], которая вычисляет декомпозицию (факторизацию, разложение) Холесского для симметричной п...
Метод исключения Гаусса — GaussianEliminationМетод исключения Гаусса — GaussianElimination Следующие функции обеспечивают реализацию метода исключения Гаусса при решении линейного уравнения вида А-x =b: LUFactor [m] — возвращает LU-декомпози...
Операции с матрицами — MatrixManipulationОперации с матрицами — MatrixManipulation Подпакет MatrixManipulation добавляет к матричным функциям ядра системы Ма-thematica ряд новых функций. Начнем с функций объединения матриц: AppendColumns...
Ортогонализация и нормализация — OrtogonalizationОртогонализация и нормализация — Ortogonalization В подпакете ортогонализации Ortogonalization имеются следующие функции: GramSchmidt [ {vl, v2,...} ] — создает ортогональное множество на основе с...
Решение линейных уравнений с трехдиагональной матрицей —TridiagonalРешение линейных уравнений с трехдиагональной матрицей —Tridiagonal При решении линейных уравнений часто встречаются матрицы особой формы — трехдиагональные. Подпакет Tridiagonal имеет функцию для...
Расширение в теории чиселРасширение в теории чисел Мы уже описывали уникальные возможности систем Mathematica 3/4 в области обработки чисел и численных вычислений. Эти возможности существенно расширяет пакет NumberTheory,...
Цепные дроби — ContinuedFractionsЦепные дроби — ContinuedFractions Следующие функции подпакста ContinuedFractions служат для представления чисел в виде цепных дробей или для формирования цепной дроби из списков: ContinuedFraction...
Улучшенное разложение на простые множители — FactorlntegerECMУлучшенное разложение на простые множители — FactorlntegerECM Алгоритм разложения чисел на простые множители, реализованный в ядре Mathematiica 3, способен за 3 часа (на рабочих станциях) разлагат...
Функции теории чисел — NumberTheory FunctionsФункции теории чисел — NumberTheory Functions В подпакете NumberTheoryFunctions имеется ряд функций, относящихся к теории чисел: SquareFreeQ[n] — дает True, если п не имеет квадратичного фактора,...
Работа с простыми числами-PrimeQРабота с простыми числами-PrimeQ В подпакете PrimeQ в дополнение к функции ядра PrimeQ [n] имеется ряд функций для работы с простыми числами: ProvablePrimeQ [n] — возвращает True, если п проверено...
Вычисление примитивных элементов — Primitive ElementВычисление примитивных элементов — Primitive Element Подпакет PrimitiveElement содержит всего одну функцию для вычисления примитивных элементов множественного алгебраического выражения: PrimitiveE...
Создание рядов Рамануджанат-Дирихле — RamanujanСоздание рядов Рамануджанат-Дирихле — Ramanujan В подпакете Ramanujan определены следующие функции: RamanujanTau [n] — n-й коэффициент ряда Рамануджана т-Дирйхле (т n ); RamanujanTauGeneratingFunc...
Рационализация чисел — RationalizeРационализация чисел — Rationalize Подпакет Rationalize расширяет возможности представления чисел в рациональном виде. Он содержит определения следующих функций: ProjectiveRationalize [ {х0, xl,.....
Нахождение полинома, дающего заданный корень — RecognizeНахождение полинома, дающего заданный корень — Recognize Подпакет Recognize содержит определение одноименной с ним функции в двух формах: Recognize [x,n,t] — находит полином переменной t степени,...
Тета-функция ЗигеляТета-функция Зигеля Подпакет SiegelTheta содержит еще одну редкую функцию: SiegelTheta [z, s] — возвращает значение тета-функции Зигеля Q(Z, s). Примеры вычисления этой функции даны ниже: NumberTh...
Численные расчеты — пакет NumericalMathЧисленные расчеты — пакет NumericalMath Пакет расширения NumericalMath содержит множество полезных функций для тех, кто имеет дело с численными расчетами. В их числе функции для выполнения высокот...
Аппроксимация аналитических функций — ApproximationsАппроксимация аналитических функций — Approximations Подпакет Approximations содержит ряд функций для улучшенной рациональной аппроксимации аналитических функций. Для рациональной интерполяции и а...
Пример 11.22. График погрешности рациональной аппроксимации экспоненциальной функцииПример 11.22. График погрешности рациональной аппроксимации экспоненциальной функции В данном случае выбор абсцисс осуществляется автоматически в интервале от xmin до mах. В отличие от первого слу...
Пример 11.23. График погрешности аппроксимации синусоидальной функцииПример 11.23. График погрешности аппроксимации синусоидальной функции При рациональной аппроксимации можно задать опции WorkingPrecision и Bias со значениями по умолчанию $MachinePrecision и 0 соо...
Пример 11.24. Погрешность аппроксимации экспоненты при выборе опции Bias->.25Пример 11.24. Погрешность аппроксимации экспоненты при выборе опции Bias-.25 Из приведенных примеров ясно, что рациональная аппроксимация способна дать существенное уменьшение погрешности при неко...
Пример 11.25. График погрешности при минимаксной аппроксимации экспоненциальной функцииПример 11.25. График погрешности при минимаксной аппроксимации экспоненциальной функции Следует отметить, что малость абсолютной ошибки для ряда функций (например, тригонометрических) может привод...
Пример 11.26. График погрешности при минимаксной аппроксимации функции косинусаПример 11.26. График погрешности при минимаксной аппроксимации функции косинуса...
Нули функций Бесселя — BesselZerosНули функций Бесселя — BesselZeros В подпакете BesselZeros определены функции, дающие список аргументов функций Бесселя в их первых п нулевых точках: BesselJZeros [mu, n], Bessel-YZeros[mu,n], Bes...
Поиск корней уравнений с интерполяцией — InterpolateRootПоиск корней уравнений с интерполяцией — InterpolateRoot Подпакет InterpolateRoot дает средства для ускоренного и более точного поиска корней уравнений по сравнению с соответствующими функциями яд...
Реализация интервальных методов —IntervalRootsРеализация интервальных методов —IntervalRoots Иногда важно не найти приближенное значение корня, а уточнить интервал, в котором он находится. В подпакете IntervalRoots для этого используется ряд...
Табличное численное интегрирование — ListlntegrateТабличное численное интегрирование — Listlntegrate Встроенная в ядро функция NIntegrate вычисляет определенные интегралы при известной подынтегральной функции. Однако нередко, например при экспери...
Численное вычисление пределов — NLimitЧисленное вычисление пределов — NLimit В подпакете N limit определена функция Nlimit[expr,х-х0] для численного вычисления пределов выражений ехрг (см. примеры ниже): NumericalMath` NLimit` NLimit[...
Численное вычисление остатка — N ResidueЧисленное вычисление остатка — N Residue В подпакете NResidue имеется функция вычисления остатка NResidue [expr, {x, x0} ] в точке х=х0: NumericalMath` NResidue` NResidue[1/z, {z, 0}] 1. + 6.35614...
Численное разложение в ряд — NSeriesЧисленное разложение в ряд — NSeries Подпакет NSeries вводит функцию NSeries [f, {x,xO,n}], которая дает численный ряд, аппроксимирующий функцию f(x) в окрестности точки х = х 0 , включая термы от...
Вычисление коэффициентов формулы интегрирования Ньютона—Котесса — NewtonCotesВычисление коэффициентов формулы интегрирования Ньютона—Котесса — NewtonCotes Функция NIntegrate, имеющаяся в ядре системы Mathematica, реализует метод интегрирования Гаусса—Кронрода. Еще одним из...
Что нового мы узнали?Что нового мы узнали? В этом уроке мы научились: Пользоваться алгебраическими функциями пакета Algebra. Применять вычислительные функции пакета Calculus. Работать с функциями дискретной математики...
Содержание