Главная  Длительная эволюция 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [ 13 ] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86]

Чтобы рассмотренная выше функция Expand действовала только на числитель или только на знаменатель рационального выражения, применяют модификации этой функции: Expand-Numerator и ExpandDenominator. Получить числитель и знаменатель рационального выражения можно с помощью функций Numerator и Denominator. Обе последние функции можно использовать для извлечения числителя и знаменателя рационального числа.

Для упрощения различных выражений, в том числе и рациональных, полезно применять функцию Simplify, которая выполняет последовательность алгебраических преобразований над выражением и приводит его к простейшей с точки зрения „Математики" форме. Рассматриваемую функцию удобно применять в постфиксной входной форме, т.е. приписывая ее с помощью в конце входного выражения:

Together[aratnl] Simplify

х + ху + у

2.4. Предикаты и булевы операции

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

В „Математике" имеется семейство функций, принимающих булевы значения True и False. Заголовки этих функций оканчиваются на латинскую букву Q, хотя не все функции, заголовки которых оканчиваются на букву Q, булевозначны. Мы уже встречались с функциями AtomQ и PolynomialQ. Одними из наиболее употребительных булевозначных функций являются функции IntegerQ, OddQ, EvenQ, PrimeQ, которые проверяют свойства своих аргументов быть целыми, нечетными, четными или простыми числами, а NumberQ проверяет



СВОЙСТВО выражения быть числом любого типа. Рассмотренные функции называются одноместными предикатами, их вычисление всегда приводит к одному из двух булевых значений:

{OddQ[2], OddQ[5], OddQ[x-2+ у-2]} {False, True, False}

Имеется также класс функций одного аргумента, значения которых для н1екоторых аргументов могут быть True или False, а для других аргументов после вычисления их значение не является булевым. Например, функция Positive проверяет свойство числа быть положительным. Если число положительно, функция принимает значение True. Если не положительно - значение False. Если же после вычисления аргумента функции Positive, вычисленный аргумент не является числом, результат вычисления будет иметь заголовок Positive. Иными словами, булевозначные функции, оканчивающиеся на Q, определены для всех значений аргумента, а не оканчивающиеся на Q соответствуют так называемым частичным функциям, область определения которых не охватывает всего класса выражений „Математики ".

Двуместные предикаты сравнивают два выражения. Например, предикат Less сравнивает выражения по численной величине:

6 < 3

False

Подобно одноместным булевозначным функциям, двуместные предикаты могут принять значения, отличные от True или False:

X < у

X <у

Встроенными двуместными предикатами являются: Equal (==), Unequal (!=), Less (<), Greater (>), GreaterEqual (>=), LessEqual (<=). Предикат Equal принимает значение



Sqrt[2] Sqrt[2]

Мы видим: несмотря на то, что численно выражения слева и справа равны, предикат Equal не принимает значения True. Приведем выражение в правой части рассматриваемого равенства к общему знаменателю:

Together[Sqrt[2] + 1/Sqrt[2]] == 3/Sqrt[2]

True

Предикат SameQ (===), в отличие от Equal, всегда принимает либо значение True, либо False. А именно: если внутренние формы вычисленных значений аргументов совпадают, предикат принимает значение True, если нет - значение False.

Булева операция конъюнкции And, или логическое „И", есть функция от нескольких (неопределенного числа) аргументов, последовательно вычисляющая свои аргументы и принимающая значение False как только очередной аргумент вычисляется на False. В остальных случаях значение этой функции не является булевым. Входная форма выражения And[ex,e2,-..] имеет вид ei &&; ез •.. Булева операция дизъюнкции Ог, логическое „Или", входная форма ei 11 ез ! . •., последовательно вычисляет свои аргументы и принимает значение True как только очередной аргумент при вычислении принимает значение True. В противном случае принимает небулево значение. Функция отрицания Not, логическое „Не", определяется следующим образом: Not[e] принимает значение True, только если после вычисления выражение е принимает значение False, Not[e] принимает значение False, только если вычисленное е принимает значение True; и не определена как булевозначная операция в иных случаях.

True, только если внутренние формы вычисленных аргументов совпадают:

Sqrt[2] + 1/Sqrt[2] == 3/Sqrt[2]

+ Sqrt[2]==



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [ 13 ] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86]

0.0009