Как упростить выражение в wolfram mathematica
Перейти к содержимому

Как упростить выражение в wolfram mathematica

  • автор:

Работа с выражениями

Для запуска программы наберите команду mathematica в командном окне, либо в стартовом меню выберите пункт Mathematica.

При старте открывается рабочее окно, в котором отображаются ввод и вывод программы. В верхней его части находится меню, позволяющее выполнять различные действия, в том числе сохранение текущей сессии в файле с расширением nb. Кроме основного окна в работе участвуют так называемые палитры. Если они не появились при старте, то для их открытия можно воспользоваться пунктом Palettes из меню File. Палитра Basic Input предоставляет набор кнопок для ввода наиболее употребительных символов, таких как корни, дроби, интегралы, буквы греческого алфавита и т. д. Палитра Basic Calculations содержит шаблоны для вычисления основных алгебраических функций.

Чтобы инициировать процесс вычисления после набора команды нужно одновременно нажать клавиши Shift и Enter (либо клавишу Enter на числовой клавиатуре справа). После завершения расчета программа присваивает имена вида In[1] и Out[1] исходному выражению и результату. Можно отменить показ имен, отключив в меню Kernel пункт Show In/Out Names.

Mathematica в качестве имен функций почти всегда использует их английские названия. Исключениями являются несколько наиболее употребимых функций: кроме N для определения численного значения, символ D используется для нахождения производной.

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

? Name — помощь по заданному слову Name;
?? Name — расширенная помощь по заданному слову Name.

Большинство функций программы Mathematica являются встроенными, т. е. становятся доступными сразу после загрузки системы. Кроме того, имеется набор так называемых пакетов расширения, содержащих специализированные функции для работы в той или иной области. Среди них Algebra, Calculus, DiscreteMath, Geometry, LinearAlgebra, Miscellaneous, Graphics, NumberTheory, NumericalMath, Statistics и некоторые другие. Каждый из пакетов содержит набор подпакетов, например, в пакет Algebra входят такие подпакеты, как InequalitySolve для решения неравенств, SymbolicSum для вычисления сумм рядов, Trigonometry для работы с тригонометрическими выражениями и другие. Для того чтобы сделать доступными функции, входящие в состав специализированных пакетов, следует их подключить командой типа

Needs["Algebra`Trigonometry`"]

Mathematica всегда старается упростить введенное выражение. Если вы попробуете вычислить корень квадратный из двадцати, для чего после ввода соответствующего выражения нажмете Shift+Enter, то результатом окажется выражение, равное двум корням из пяти. Программа упростит выражение, оставив его в символьном виде. Для того чтобы получить численное значение выражения expr, следует использовать функцию N[expr] или N[expr, n], где n задает точность вычислений. По умолчанию выводится значение выражения с пятью знаками после запятой.

Для ввода выражений удобно пользоваться палитрой Basic Input, которая содержит шаблоны для ввода степеней, дробей, радикалов, греческих букв и т. п. При выборе соответствующего шаблона появляется возможность ввести нужные значения (место для ввода значений выглядит как небольшой квадратик).

Отметим некоторые особенности синтаксиса системы, используемого при записи арифметических выражений:

Mathematica допускает использование чисел четырех видов: целые, рациональные, вещественные и комплексные. Все типы чисел могут содержать любое количество цифр. Чтобы число рассматривалось как вещественное, оно должно содержать точку в его записи, даже если дробная часть равна нулю, например, 2. или 2.0.

Для перевода числа, заданного в системе счисления с произвольным основанием, в десятичную используется конструкция Основание^^Число, а для обратного перевода числа a из десятичной системы в систему с основанием n (где n не превышает 32) — функция BaseForm[a, n].

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

При выполнении вычислений особая роль отводится символу % — он означает результат предыдущей операции. Комбинация символов %% соответствует результату операции, выполненной перед предыдущей, и так далее.

Для того чтобы «заставить» систему упростить выражение, используется функция Simplify. Ниже приведены примеры использования этой функции.

Функция Expand раскрывает скобки в выражении. Например, в результате выполнения команды Expand[(a + b) 3 ] получится a 3 + 3a 2 b + 3ab 2 + b 3 .

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

В этом примере мы сначала завели переменную poly для хранения многочлена, что позволило в дальнейшем избежать его повторного ввода. Упрощение результата раскрытия скобок не приводит к исходному выражению, которое получается только после применения функции FullSimplify.

Обратите внимание на символ ; (точка с запятой) в конце ввода многочлена. Этот символ препятствует выводу на экран результата обработки программой Mathematica введенного выражения.

Разложение на множители, если это возможно, осуществляет функция Factor. Эта функция может работать и с тригонометрическими выражениями, но в этом случае нужно использовать дополнительную опцию Trig -> True:

In[10]:= Factor[x^4+8x^3+17x^2+16x+30] Out[10]= (3 + x)(5 + x)(2 + x^2) In[11]:= Factor[Sin[6x]/Sin[2x] + Cos[6x - Pi]/Cos[2x], Trig -> True] Out[11]= 2

Напомним, это многочленом P(x)степени n от переменной x называется выражение вида

Для вынесения общего числового множителя в многочлене за скобки предназначена функция FactorTerms[poly, x], где poly есть многочлен от переменной x. Для получения списка коэффициентов при степенях x, начиная с нулевой, используется функция CoefficientList[poly, x].

In[12]:= FactorTerms[1232x^4+168x+144, x] Out[12]= (8 ((18 + 21x + 154x^4)) In[13]:= CoefficientList[12x^4+68x+44,x] Out[13]=

Некоторые другие функции для работы с многочленами приведены в следующей таблице.

PolynomialGCD[poly1, poly2] Нахождение наибольшего общего делителя poly1 и poly2
PolynomialLCM[poly1, poly2] Нахождение наименьшего общего кратного
PolynomialQuotient[poly1, poly2, x] Нахождение частного от деления poly1 на poly2
PolynomialRemainder[poly1, poly2, x] Нахождение остатка от деления poly1 на poly2

Пример
Пусть P1(x)= x 4 +2x 3 -4x 2 -5x-6. Определим, является ли число 2 корнем уравнения P1(x)=0. Известно, что многочлен делится без остатка на выражение x-x0, где x0 — корень уравнения. Найдем остаток от деления P1(x) на x-2:

PolynomialRemainder[x^4+2x^3-4x^2-5x-6, x-2 , x].

Результат равен 0, следовательно 2 — корень данного уравнения.

Задания

  1. Вычислитe 2 -10 с точностью 20 знаков после запятой.
  2. Упростите выражение .
  3. Разложите на множители выражение
    x 6 -18x 5 +135x 4 -540x 3 + 1215x 2 -1458x+729.
  4. Найдите остаток от деления многочлена P1(x) на x-1.

EMBED

To add the widget to iGoogle, click here. On the next page click the «Add» button. You will then see the widget on your iGoogle account.

To embed this widget in a post on your WordPress blog, copy and paste the shortcode below into the HTML source:

For self-hosted WordPress blogs

To embed this widget in a post, install the Wolfram|Alpha Widget Shortcode Plugin and copy and paste the shortcode above into the HTML source.

To embed a widget in your blog’s sidebar, install the Wolfram|Alpha Widget Sidebar Plugin, and copy and paste the Widget ID below into the «id» field:

To add a widget to a MediaWiki site, the wiki must have the Widgets Extension installed, as well as the code for the Wolfram|Alpha widget.

To include the widget in a wiki page, paste the code below into the page source.

Simplify

Simplify [ expr ] performs a sequence of algebraic and other transformations on expr and returns the simplest form it finds.

Simplify [ expr , assum ] does simplification using assumptions.

Details and Options

  • Simplify tries expanding, factoring, and doing many other transformations on expressions, keeping track of the simplest form obtained.
  • Simplify can be used on equations, inequalities, and domain specifications.
  • Quantities that appear algebraically in inequalities are always assumed to be real.
  • FullSimplify does more extensive simplification than Simplify .
  • You can specify default assumptions for Simplify using Assuming .
  • The following options can be given:
  • Assumptions $Assumptions default assumptions to append to assum
    ComplexityFunction Automatic how to assess the complexity of each form generated
    TimeConstraint 300 how many seconds to try doing any particular transformation
    TransformationFunctions Automatic functions to try in transforming the expression
    Trig True whether to do trigonometric as well as algebraic transformations
  • Assumptions can consist of equations, inequalities, domain specifications such as x ∈ Integers , and logical combinations of these.
  • With the setting TimeConstraint->< t loc , t tot > , at most t loc seconds are spent for any particular transformation, and at most t tot seconds are spent for all transformations before the best result is returned.

Examples

open all close all

Basic Examples (3)

Simplify can get further if assumptions are made about x :

Scope (4)

Simplify a polynomial:

Simplify a rational expression:

Simplify a trigonometric expression:

Simplify an exponential expression:

Simplify an equation:

Simplify expressions using assumptions:

Use assumptions to prove inequalities:

Options (10)

Assumptions (3)

Assumptions can be given both as an argument and as an option value:

The default value of the Assumptions option is $Assumptions :

When assumptions are given as an argument, $Assumptions is used as well:

Specifying assumptions as an option value prevents Simplify from using $Assumptions :

ComplexityFunction (2)

The default ComplexityFunction counts the subexpressions and digits of integers:

LeafCount counts only the number of subexpressions:

With the default ComplexityFunction , Abs [ x ] is simpler than the FullForm of — x :

This complexity function makes Abs more expensive than Times :

ExcludedForms (1)

This gives no simplification:

Excluding transformations of ( x -2 ) ^10 allows Simplify to expand the remaining terms:

TimeConstraint (2)

This takes a long time, due to trigonometric expansion, but does not yield a simplification:

Use TimeConstraint to limit the time spent on any single transformation:

A similar example, where the transformation yields a simplification:

In this case, setting TimeConstraint prevents some simplification:

TransformationFunctions (1)

Here Simplify uses t as the only transformation:

Here Simplify uses both t and all built-in transformations:

Trig (1)

By default, Simplify uses trigonometric identities:

With Trig->False , Simplify does not use trigonometric identities:

Applications (4)

Prove that a solution satisfies its equations:

Show that the arithmetic mean is larger than the geometric one:

This applies Fermat’s little theorem:

Prove commutativity from Wolfram’s minimal axiom for Boolean algebra:

Properties & Relations (2)

Use Assuming to propagate assumptions:

Use FullSimplify to simplify expressions involving special functions:

Possible Issues (2)

The Wolfram Language evaluates zero times a symbolic expression to zero:

This happens even if the symbolic expression is always infinite:

Because of this, results of simplification of expressions with singularities are uncertain:

In this case, FullSimplify recognizes the zero:

Results of simplification may depend on the names of symbols:

See Also

Tech Notes

  • Simplifying Algebraic Expressions ▪
  • Simplifying with Assumptions ▪
  • Simplification ▪
  • Putting Expressions into Different Forms ▪
  • Using Assumptions ▪
  • Implementation notes: Algebra and Calculus

Related Guides

  • Formula Manipulation ▪
  • Manipulating Equations ▪
  • Algebraic Transformations ▪
  • Assumptions and Domains

Related Links

History

Introduced in 1988 (1.0) | Updated in 1996 (3.0) ▪ 1999 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2003 (5.0) ▪ 2014 (10.0)

Алгебра

Wolfram Language Fast Introduction for Math Students

Можно проводить факторизацию или раскрывать алгебраические выражения:

(Используйте CTRL + 6 для ввода степени.)

Factor[x^2 + 2 x + 1]

В Языке Wolfram символ == (два знака равенства) используется для проверки равенства:

2 + 2 == 4

Объединим алгебраические выражения с помощью == для формирования уравнения:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *