В математике факторизация (или факторизация , см . различия в написании английских слов ) или разложение на множители состоит из записи числа или другого математического объекта в виде произведения нескольких множителей , обычно меньших или более простых объектов того же рода. Например, 3 × 5 является целочисленной факторизацией 15 , а ( x – 2 )( x + 2) является полиномиальной факторизацией x 2 – 4 .
Факторизация обычно не считается осмысленной в числовых системах, обладающих делением , таких как действительные или комплексные числа , поскольку любое может быть тривиально записано как всякий раз, когда не равно нулю. Однако осмысленную факторизацию для рационального числа или рациональной функции можно получить, записав его в наименьших членах и отдельно разложив на множители его числитель и знаменатель.
Факторизация была впервые рассмотрена древнегреческими математиками в случае целых чисел. Они доказали фундаментальную теорему арифметики , которая утверждает, что каждое положительное целое число может быть разложено на множители в произведение простых чисел , которое не может быть далее разложено на множители целых чисел, больших 1. Более того, эта факторизация является уникальной с точностью до порядка множителей. Хотя факторизация целых чисел является своего рода обратной операцией умножения, она гораздо сложнее алгоритмически , что используется в криптосистеме RSA для реализации криптографии с открытым ключом .
Факторизация полиномов также изучалась на протяжении столетий. В элементарной алгебре факторизация полинома сводит задачу нахождения его корней к нахождению корней множителей. Полиномы с коэффициентами в целых числах или в поле обладают свойством уникальной факторизации , версией фундаментальной теоремы арифметики с простыми числами, замененными неприводимыми полиномами . В частности, одномерный полином с комплексными коэффициентами допускает уникальную (с точностью до упорядочения) факторизацию в линейные полиномы : это версия фундаментальной теоремы алгебры . В этом случае факторизация может быть выполнена с помощью алгоритмов нахождения корней . Случай полиномов с целыми коэффициентами является фундаментальным для компьютерной алгебры . Существуют эффективные компьютерные алгоритмы для вычисления (полных) факторизаций в кольце полиномов с рациональными числовыми коэффициентами (см. факторизация полиномов ).
Коммутативное кольцо, обладающее свойством уникальной факторизации, называется областью уникальной факторизации . Существуют числовые системы , такие как некоторые кольца целых алгебраических чисел , которые не являются областями уникальной факторизации. Однако кольца целых алгебраических чисел удовлетворяют более слабому свойству областей Дедекинда : идеалы однозначно разлагаются на простые идеалы .
Факторизация может также относиться к более общим разложениям математического объекта в произведение меньших или более простых объектов. Например, каждая функция может быть разложена на множители в композицию сюръективной функции с инъективной функцией . Матрицы обладают многими видами матричных факторизаций . Например, каждая матрица имеет уникальную LUP-факторизацию как произведение нижней треугольной матрицы L со всеми диагональными элементами, равными единице, верхней треугольной матрицы U и матрицы перестановок P ; это матричная формулировка гауссовского исключения .
Согласно основной теореме арифметики , каждое целое число, большее 1, имеет единственное (с точностью до порядка множителей) разложение на простые числа , то есть на такие целые числа, которые не могут быть далее разложены на множители в виде произведения целых чисел, больших единицы.
Для вычисления факторизации целого числа n необходим алгоритм для нахождения делителя q числа n или решения, что n является простым числом. Когда такой делитель найден, повторное применение этого алгоритма к множителям q и n / q в конечном итоге дает полную факторизацию n . [1]
Для нахождения делителя q числа n , если таковой имеется, достаточно проверить все значения q, такие что 1 < q и q 2 ≤ n . Фактически, если r — делитель n, такой что r 2 > n , то q = n / r — делитель n, такой что q 2 ≤ n .
Если проверить значения q в порядке возрастания, то первый найденный делитель обязательно будет простым числом, а сомножитель r = n / q не может иметь делителей, меньших q . Для получения полной факторизации достаточно продолжить алгоритм, найдя делитель r , который не меньше q и не больше √ r .
Нет необходимости проверять все значения q для применения метода. В принципе, достаточно проверять только простые делители. Для этого нужна таблица простых чисел, которая может быть сгенерирована, например, с помощью решета Эратосфена . Поскольку метод факторизации по сути выполняет ту же работу, что и решето Эратосфена, обычно эффективнее проверять на делитель только те числа, для которых не сразу ясно, являются ли они простыми или нет. Обычно можно продолжить, проверив 2, 3, 5 и числа > 5, последняя цифра которых 1, 3, 7, 9, а сумма цифр не кратна 3.
Этот метод хорошо подходит для факторизации малых целых чисел, но неэффективен для больших целых чисел. Например, Пьер де Ферма не смог обнаружить, что 6-е число Ферма
не является простым числом. Фактически, применение вышеописанного метода потребовало бы более10 000 делений для числа, имеющего 10 десятичных цифр .
Существуют более эффективные алгоритмы факторизации. Однако они остаются относительно неэффективными, поскольку при нынешнем состоянии техники невозможно факторизовать, даже с помощью более мощных компьютеров, число из 500 десятичных цифр, являющееся произведением двух случайно выбранных простых чисел. Это обеспечивает безопасность криптосистемы RSA , которая широко используется для безопасной интернет -связи.
Для разложения n = 1386 на простые множители:
Манипулирование выражениями является основой алгебры . Факторизация является одним из важнейших методов манипулирования выражениями по нескольким причинам. Если можно привести уравнение к факторизованной форме E ⋅ F = 0 , то проблема решения уравнения разделяется на две независимые (и, как правило, более простые) задачи E = 0 и F = 0. Когда выражение можно факторизовать, множители часто оказываются намного проще и, таким образом, могут дать некоторое представление о проблеме. Например,
имея 16 умножений, 4 вычитания и 3 сложения, можно разложить на гораздо более простое выражение
всего с двумя умножениями и тремя вычитаниями. Более того, факторизованная форма немедленно дает корни x = a , b , c как корни многочлена.
С другой стороны, факторизация не всегда возможна, а когда она возможна, множители не всегда проще. Например, можно разложить на два неприводимых множителя и .
Разработаны различные методы нахождения факторизаций; некоторые из них описаны ниже.
Решение алгебраических уравнений можно рассматривать как задачу факторизации полиномов . Фактически, фундаментальную теорему алгебры можно сформулировать следующим образом: каждый полином от x степени n с комплексными коэффициентами может быть разложен на n линейных множителей для i = 1, ..., n , где a i s являются корнями полинома. [2] Несмотря на то, что структура факторизации в этих случаях известна, a i s, как правило, не может быть вычислена в терминах радикалов ( корней n- й степени ) по теореме Абеля–Руффини . В большинстве случаев лучшее, что можно сделать, — это вычислить приблизительные значения корней с помощью алгоритма поиска корней .
Систематическое использование алгебраических преобразований для упрощения выражений (в частности, уравнений ) можно отнести к IX веку, когда вышла книга аль-Хорезми «Краткая книга об исчислении путем завершения и уравновешивания» , в названии которой описываются два таких типа преобразований.
Однако даже для решения квадратных уравнений метод факторизации не использовался до работы Харриота, опубликованной в 1631 году, через десять лет после его смерти. [ 3] В своей книге Artis Analyticae Praxis ad Aequationes Algebraicas Resolvendas Харриот нарисовал таблицы для сложения, вычитания, умножения и деления одночленов , двучленов и трехчленов . Затем, во втором разделе, он составил уравнение aa − ba + ca = + bc и показал, что это соответствует форме умножения, которую он ранее предоставил, давая факторизацию ( a − b )( a + c ) . [4]
Следующие методы применяются к любому выражению, которое является суммой или может быть преобразовано в сумму. Поэтому они чаще всего применяются к многочленам , хотя их также можно применять, когда члены суммы не являются мономами , то есть члены суммы являются произведением переменных и констант.
Может случиться, что все члены суммы являются произведениями, а некоторые множители являются общими для всех членов. В этом случае распределительный закон позволяет вынести этот общий множитель за скобки. Если таких общих множителей несколько, то предпочтительнее вынести за скобки наибольший из них. Также, если есть целые коэффициенты, то можно вынести за скобки наибольший общий делитель этих коэффициентов.
Например, [5], поскольку 2 является наибольшим общим делителем 6, 8 и 10 и делит все члены.
Группировка членов может позволить использовать другие методы для получения факторизации.
Например, для факторизации можно заметить, что первые два члена имеют общий множитель x , а последние два члена имеют общий множитель y . Таким образом , тогда простой осмотр показывает общий множитель x + 5 , что приводит к факторизации
В общем, это работает для сумм 4 членов, которые были получены как произведение двух биномов . Хотя и не часто, это может работать и для более сложных примеров.
Иногда некоторая группировка терминов раскрывает часть узнаваемой модели. Тогда полезно добавлять и вычитать термины, чтобы завершить модель.
Типичным применением этого метода является метод завершения квадрата для получения квадратной формулы .
Другим примером является факторизация Если ввести недействительный квадратный корень из –1 , обычно обозначаемый i , то получится разность квадратов Однако, может также потребоваться факторизация с действительными числовыми коэффициентами. Складывая, вычитая и группируя три члена вместе, можно распознать квадрат двучлена : Вычитание и сложение также дают факторизацию: Эти факторизации работают не только над комплексными числами, но и над любым полем , где либо –1, 2, либо –2 является квадратом. В конечном поле произведение двух неквадратов является квадратом; это означает, что многочлен , который неприводим над целыми числами, приводим по модулю любого простого числа . Например, поскольку поскольку поскольку
Многие тождества обеспечивают равенство между суммой и произведением. Вышеуказанные методы могут быть использованы для того, чтобы позволить суммарной стороне некоторого тождества появиться в выражении, которое, следовательно, может быть заменено произведением.
Ниже приведены тождества, левые части которых обычно используются в качестве шаблонов (это означает, что переменные E и F , которые появляются в этих тождествах, могут представлять любое подвыражение выражения, которое должно быть факторизовано). [6]
Корни n- й степени из единицы — это комплексные числа, каждое из которых является корнем многочлена. Таким образом, они являются числами для
Отсюда следует, что для любых двух выражений E и F имеем:
Если E и F — действительные выражения, и нужны действительные множители, то нужно заменить каждую пару комплексно-сопряженных множителей их произведением. Так как комплексно-сопряженное число равно и имеет следующие действительные факторизации (переход от одного к другому осуществляется путем замены k на n – k или n + 1 – k и применения обычных тригонометрических формул ):
Косинусы , которые появляются в этих факторизациях, являются алгебраическими числами и могут быть выражены через радикалы (это возможно, поскольку их группа Галуа является циклической); однако эти радикальные выражения слишком сложны для использования, за исключением низких значений n . Например,
Часто требуется факторизация с рациональными коэффициентами. Такая факторизация включает в себя циклотомические многочлены . Чтобы выразить рациональные факторизации сумм и разностей или степеней, нам нужна нотация для гомогенизации многочлена : если его гомогенизация является двумерным многочленом Тогда, имеем где произведения берутся по всем делителям n или всем делителям 2 n , которые не делят n , и является n-м циклотомическим многочленом.
Например, поскольку делителями числа 6 являются 1, 2, 3, 6, а делителями числа 12, которые не делят 6, являются 4 и 12.
Для многочленов факторизация тесно связана с проблемой решения алгебраических уравнений . Алгебраическое уравнение имеет вид
где P ( x ) — многочлен от x с Решением этого уравнения (также называемым корнем многочлена) является значение r от x такое, что
Если — факторизация P ( x ) = 0 как произведения двух многочленов, то корни P ( x ) являются объединением корней Q ( x ) и корней R ( x ) . Таким образом, решение P ( x ) = 0 сводится к более простым задачам решения Q ( x ) = 0 и R ( x ) = 0 .
Наоборот, теорема о факторах утверждает, что если r является корнем P ( x ) = 0 , то P ( x ) можно разложить на множители следующим образом:
где Q ( x ) — частное от евклидова деления P ( x ) = 0 на линейный (первой степени) множитель x – r .
Если коэффициенты P ( x ) являются действительными или комплексными числами, основная теорема алгебры утверждает, что P ( x ) имеет действительный или комплексный корень. Используя теорему о факторах рекурсивно, получается, что
где — действительные или комплексные корни P , некоторые из которых, возможно, повторяются. Это полное разложение уникально с точностью до порядка множителей.
Если коэффициенты P ( x ) действительны, обычно требуется факторизация, в которой факторы имеют действительные коэффициенты. В этом случае полная факторизация может иметь некоторые квадратичные (степени два) факторы. Эта факторизация может быть легко выведена из приведенной выше полной факторизации. Фактически, если r = a + ib является недействительным корнем P ( x ) , то его комплексно сопряженное число s = a - ib также является корнем P ( x ) . Таким образом, произведение
является множителем P ( x ) с действительными коэффициентами. Повторение этого для всех недействительных множителей дает факторизацию с линейными или квадратичными действительными множителями.
Для вычисления этих действительных или комплексных факторизаций необходимы корни многочлена, которые не могут быть вычислены точно, а только приблизительно с использованием алгоритмов поиска корней .
На практике большинство интересующих нас алгебраических уравнений имеют целые или рациональные коэффициенты, и может потребоваться факторизация с факторами того же вида. Основная теорема арифметики может быть обобщена на этот случай, утверждая, что многочлены с целыми или рациональными коэффициентами обладают уникальным свойством факторизации . Точнее, каждый многочлен с рациональными коэффициентами может быть факторизован в произведении
где q — рациональное число, а — непостоянные многочлены с целыми коэффициентами, которые являются неприводимыми и примитивными ; это означает, что ни один из не может быть записан в виде произведения двух многочленов (с целыми коэффициентами), которые не равны ни 1, ни –1 (целые числа рассматриваются как многочлены нулевой степени). Более того, эта факторизация является единственной с точностью до порядка множителей и знаков множителей.
Существуют эффективные алгоритмы для вычисления этой факторизации, которые реализованы в большинстве систем компьютерной алгебры . См. Факторизация многочленов . К сожалению, эти алгоритмы слишком сложны для использования в вычислениях на бумаге и карандаше. Помимо эвристик, описанных выше, только несколько методов подходят для ручных вычислений, которые обычно работают только для многочленов низкой степени с небольшим количеством ненулевых коэффициентов. Основные такие методы описаны в следующих подразделах.
Каждый многочлен с рациональными коэффициентами может быть разложен на множители единственным способом как произведение рационального числа и многочлена с целыми коэффициентами, который является примитивным (то есть наибольший общий делитель коэффициентов равен 1) и имеет положительный старший коэффициент (коэффициент при члене высшей степени). Например:
В этой факторизации рациональное число называется содержимым , а примитивный многочлен - примитивной частью . Вычисление этой факторизации можно выполнить следующим образом: во-первых, привести все коэффициенты к общему знаменателю, чтобы получить частное по целому числу q многочлена с целыми коэффициентами. Затем разделить больший общий делитель p коэффициентов этого многочлена, чтобы получить примитивную часть, содержимое которой Наконец, если необходимо, изменить знаки p и всех коэффициентов примитивной части.
Такая факторизация может дать результат, который больше исходного многочлена (обычно, когда имеется много взаимно простых знаменателей), но даже в этом случае примитивную часть, как правило, легче обрабатывать для дальнейшей факторизации.
Теорема о факторах утверждает, что если r является корнем многочлена
означает, что P ( r ) = 0 , тогда существует факторизация
где
с . Тогда полиномиальное деление в столбик или синтетическое деление дает:
Это может быть полезно, когда известен или можно угадать корень многочлена.
Например, для легко видеть, что сумма его коэффициентов равна 0, поэтому r = 1 является корнем. Так как r + 0 = 1 , и мы имеем
Для многочленов с рациональными числовыми коэффициентами можно искать корни, которые являются рациональными числами. Примитивная факторизация части содержимого (см. выше) сводит задачу поиска рациональных корней к случаю многочленов с целыми коэффициентами, не имеющих нетривиального общего делителя .
Если — рациональный корень такого многочлена
Теорема о факторах показывает, что существует факторизация
где оба множителя имеют целые коэффициенты (тот факт, что Q имеет целые коэффициенты, следует из приведенной выше формулы для частного от деления P ( x ) на ).
Сравнение коэффициентов степени n и постоянных коэффициентов в приведенном выше равенстве показывает, что если — рациональный корень в приведенной форме , то q является делителем и p является делителем Следовательно, существует конечное число возможностей для p и q , которые можно систематически исследовать. [7]
Например, если многочлен
имеет рациональный корень с q > 0 , тогда p должно делить 6; то есть и q должно делить 2, то есть Более того, если x < 0 , все члены многочлена отрицательны, и, следовательно, корень не может быть отрицательным. То есть, должно быть
Прямое вычисление показывает, что только является корнем, поэтому не может быть другого рационального корня. Применение теоремы о факторах приводит в конечном итоге к факторизации
Вышеуказанный метод может быть адаптирован для квадратичных многочленов , что приводит к методу факторизации переменного тока . [8]
Рассмотрим квадратный многочлен
с целыми коэффициентами. Если у него есть рациональный корень, его знаменатель должен делить a нацело, и его можно записать в виде возможно сокращаемой дроби. По формулам Виета , другой корень равен
Таким образом, второй корень также рационален, и вторая формула Виета дает
то есть
Проверка всех пар целых чисел, произведение которых равно ac, дает рациональные корни, если таковые имеются.
Подводя итог, если имеет рациональные корни, то существуют целые числа r и s такие , что и (конечное число случаев для проверки), и корни равны и Другими словами, имеем факторизацию
Например, рассмотрим квадратный многочлен
Рассмотрение множителей ac = 36 приводит к 4 + 9 = 13 = b , что дает два корня
и факторизация
Любой одномерный квадратный многочлен можно разложить на множители, используя квадратную формулу :
где и — два корня многочлена.
Если a, b, c все действительны , то множители действительны тогда и только тогда, когда дискриминант неотрицателен. В противном случае квадратный многочлен не может быть разложен на непостоянные действительные множители.
Квадратичная формула верна, когда коэффициенты принадлежат любому полю характеристики , отличной от двух, и, в частности, для коэффициентов в конечном поле с нечетным числом элементов. [9]
Существуют также формулы для корней кубических и четвертых полиномов, которые, как правило, слишком сложны для практического использования. Теорема Абеля–Руффини показывает, что не существует общих формул корней в терминах радикалов для полиномов пятой степени или выше.
Может случиться так, что кто-то знает некоторую связь между корнями многочлена и его коэффициентами. Использование этих знаний может помочь в разложении многочлена на множители и нахождении его корней. Теория Галуа основана на систематическом изучении связей между корнями и коэффициентами, которые включают формулы Виета .
Здесь мы рассмотрим более простой случай, когда два корня и полинома удовлетворяют соотношению
где Q — многочлен.
Это подразумевает, что является общим корнем и, следовательно, является корнем наибольшего общего делителя этих двух многочленов. Из этого следует, что этот наибольший общий делитель является непостоянным множителем алгоритма Евклида для многочленов, позволяющего вычислить этот наибольший общий множитель.
Например [10] , если известно или предполагается, что: имеет два корня, сумма которых равна нулю, можно применить алгоритм Евклида к и Первый шаг деления состоит в сложении с получением остатка
Затем деление на дает ноль в качестве нового остатка и x – 5 в качестве частного, что приводит к полной факторизации
Целые числа и многочлены над полем обладают свойством уникальной факторизации, то есть каждый ненулевой элемент может быть разложен на множители в произведение обратимого элемента (единицы , ±1 в случае целых чисел) и произведения неприводимых элементов ( простых чисел в случае целых чисел), и это разложение уникально с точностью до перестановки множителей и сдвига единиц между множителями. Целостные области , которые обладают этим свойством, называются областями уникальной факторизации (UFD).
Наибольшие общие делители существуют в UFD, но не каждая целочисленная область, в которой существуют наибольшие общие делители (известная как область GCD ), является UFD. Каждая главная идеальная область является UFD.
Евклидова область — это целостная область, на которой определено евклидово деление, подобное делению целых чисел. Каждая евклидова область — это главная идеальная область, и, следовательно, UFD.
В евклидовой области евклидово деление позволяет определить евклидов алгоритм для вычисления наибольших общих делителей. Однако это не подразумевает существование алгоритма факторизации. Существует явный пример поля F , такого, что не может существовать никакого алгоритма факторизации в евклидовой области F [ x ] одномерных многочленов над F .
В алгебраической теории чисел изучение диофантовых уравнений привело математиков в 19 веке к введению обобщений целых чисел , называемых алгебраическими целыми числами . Первым кольцом алгебраических целых чисел , которые были рассмотрены, были гауссовы целые числа и эйзенштейновы целые числа , которые разделяют с обычными целыми числами свойство быть главными идеальными областями и, таким образом, обладают уникальным свойством факторизации .
К сожалению, вскоре выяснилось, что большинство колец алгебраических целых чисел не являются главными и не имеют уникальной факторизации. Простейший пример, в котором
и все эти факторы неустранимы .
Это отсутствие уникальной факторизации является основной трудностью для решения диофантовых уравнений. Например, многие неправильные доказательства Великой теоремы Ферма (вероятно, включая «поистине изумительное доказательство этой теоремы , для которого эти поля слишком узки» ) были основаны на неявном предположении уникальной факторизации.
Эта трудность была разрешена Дедекиндом , который доказал, что кольца алгебраических целых чисел имеют уникальную факторизацию идеалов : в этих кольцах каждый идеал является произведением простых идеалов , и эта факторизация является уникальной вплоть до порядка множителей. Целостные области , которые обладают этим уникальным свойством факторизации, теперь называются областями Дедекинда . Они обладают многими хорошими свойствами, которые делают их фундаментальными в алгебраической теории чисел.
Кольца матриц некоммутативны и не имеют уникальной факторизации: в общем случае существует много способов записи матрицы в виде произведения матриц. Таким образом, задача факторизации состоит в нахождении множителей указанных типов. Например, разложение LU дает матрицу как произведение нижней треугольной матрицы на верхнюю треугольную матрицу . Поскольку это не всегда возможно, обычно рассматривают «разложение LUP», имеющее матрицу перестановки в качестве третьего множителя.
Наиболее распространённые типы факторизации матриц см. в разделе Разложение матриц .
Логическая матрица представляет собой бинарное отношение , а умножение матриц соответствует композиции отношений . Разложение отношения посредством факторизации служит для профилирования природы отношения, например, дифункционального отношения.