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

[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]

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

Выражение Coefficient[poly, form] после вычисления имеет своим значением коэффициент при выражении form в полиноме poly. Возведем многочлен а2 в десятую степень. Поскольку результат будет довольно громоздким, воспользуемся точкой с запятой, поставленной в конец соответствующего выражения с тем, чтобы заблокировать вывод на экран результата вычисления:

аЗ = Expand[a2"10];

Несмотря на то что вывод зг1блокирован, символу аЗ значение все же присвоено:

Coefflcient[a3, х"5у25] 142506

Вычисленное выражение CoefflcientList[poly,form] дает список коэффициентов при степенях form в полиноме poly, начиная с нулевой степени:

CoefflcientList[Expand[a22],x]

{г/2 2уЗ - 2у5 + y 2у - 4у2 - бу + gy* + бу, 1 - 2у - 11у2 + 12уЗ + 15y -8у + Ву + 20у, -2 + 2у+15у2, бу,1}

Функция Collect в выражении Collect[poly, х] группирует члены с одной и той же степенью символа х:

Collect [Expand [(1 х + у z)2], х]

l + x + 2y + y + 2z + 2yz + z + x{2 + 2y + 2z)

Эта же функция в выражении Collect[poly,{xi,X2,...}] группирует члены с одними и теми же степенями ii, Хг, ...:



Collect[Expand[(l + х + у + z)2], {х, z}]

1 + х2 + 2у + у2 + (2 + 2y)z+ + х{2 + 2у + 2г)

Если возникает необходимость узнать общее число слагаемых в многочлене poly, то это можно сделать, вычислив выражение Length[poly]. Если есть сомнение в том, что какое-то выражение ехрг есть многочлен по некоторой переменной, то это можно проверить с помощью PoIynomiaIQ[expr, var], получая True, если ехрг полином по переменной var, и False иначе. Для нескольких переменных эта проверка осуществляется в виде PolynomialQ[expr, {vari,var2, •••}]. Выражение PolynomialQ[ехрг] проверяет, является ли ехрг полиномом относительно каких-либо переменных над полем рациональных чисел. Результат может быть False, например, в случае, когда ехрг содержит числа типа Real.

Функция Variables, примененная к poly, дает список всех независимых переменных в полиноме poly.

Важнейшими операциями при работе с полиномами являются нахождение наибольщего общего делителя и наименьшего общего кратного. Для полиномов polyi и ро/уг первое получается с помощью PolynomialGCD[polyi,poly2]. При вычислении этого выражения все символьные параметры в полиномах трактуются как переменные, и деление на них не допускается.

Вычисление выражения PolynomialLCM[polyi,poly2] дает наименьшее общее кратное, в то время как вычисление PolynomialQuotient[polyi,poly2] дает частное от деления polyi на ро1у2, а вычисление PolynomialRemainder[polyi, ро1у2] - остаток от деления.

С помощью Resultant[polyi,poly2,var] можно найти результант полиномов по отношению к переменной var, т.е. произведение всех разностей р, - qj корней этих полиномов (в случае, когда коэффициенты при старших степенях полиномов равны единице).



2.2. Подстановки

Одним из наиболее распространенных видов алгебраических преобразований являются подстановки, в результате выполнения которых какая-либо часть алгебраического выражения заменяется на новое выражение. В „Математике" существуют два способа делать подстановки. Один способ реализуется с помощью функции Set.

Вычисление выражения Set[lhs,rhs], или Ihs = rhs выполняется следующим образом. Сначала вычисляется выражение rhs, а затем вычисленное выражение присваивается как значение невычисленному выражению Ihs. Всюду в дальнейшем Ihs, в какие бы другие выражения оно ни входило, будет заменяться на вычисленное выражение rhs. Выражения Ihs и rhs могут быть списками, и поэтому Set может быть задано в виде {lhsi,lhs2,...} = {rhsi,rhs2,...}. В этом случае вычисленные rhsi будут присвоены Ihsi. В качестве примера присвоим символу X значение а и после вычислим выражение al:

х = а

Expand[al]

Отменить глобальную подстановку в случае, когда выражение Ihs есть символ, можно с помощью функции Clear: а именно CIear[smbli,smbl2,. •.] отменяет все подстановки, связанные с символами smbk. Для одного символа можно использовать входную форму smbl - . выражения Unset[smbl]:

X = . al

{-l + y){x + y) + {x + yf

функция Set задает „глобальную" подстановку, оказывающую влияние на все последующие вычисления с ее первым аргументом. Если же подстановку одного выражения вместо другого



[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