Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
177
Добавлен:
14.05.2015
Размер:
1.85 Mб
Скачать

Е. Е. Тыртышников

267

 

 

Высокая степень произвола в компонентах билинейных аппроксимаций матрицы заставляет вводить при их построении различные ограничения обычно типа ортого-

нальности. Например, сингулярное разложение матрицы X имеет тот же вид ( ), íî

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

В случае трехмерных массивов ситуация одновременно и проще, и сложнее. Поче- му сложнее понятно: теория и алгоритмы вычисления трилинейных разложений и аппроксимаций далеки от стадии завершенности. А проще вот по какой причине.

Пусть X = (A, B, C) трилинейное раложение ранга r. Это означает, что каждая из матриц A, B, C имеет r столбцов. Предположим, что каждая их этих матриц имеет линейно независимую систему столбцов. Допустим, что X = (A,e B,e Ce) åùå îäíî разложение ранга r с линейно независимыми столбцами в матрицах A,e B,e Ce.

Пусть для ясности r = 2. Тогда

 

ai1bj1ck1 + ai2bj2ck2 = ai1bj1ck1

+ ai2bj2ck2.

 

 

 

(#)

 

p = [p1

, . . . , pn

]>

таким

e

e

e

p

a2

}

, íî p

/

a1

}

 

Выберем вектор

 

1

 

 

e

e

e

{

 

{

 

 

 

 

 

 

образом, чтобы

 

 

 

 

 

 

 

 

(вектор p ортогонален a2, íî íå a1) в смысле естественного скалярного произведения в пространстве Rn1 . Умножим равенства (#) на коэффициенты pi и просуммируем их

ïî i îò 1 äî n1:

(p>a1)b1c>1 = (p>a1) b1c>1 + (p>a2) b2c>2 .

В силу выбора p,

p>a1 6= 0

ðàíã

 

матрицы в левой части равен 1

 

p>a1 = 0

 

e

e e

e

e e

 

ëèáî p>a2 = 0, иначе ранг матрицы в правой части был бы равен 2:

 

e

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V ≡ t1eb1c1>

+ t2eb2c2> = [eb1, eb2] t1

 

t2

[c1

, c2]>

det V

= t1t2 det Be det Ce.

e

e

 

 

.

 

 

e

e

 

c>, t

 

 

 

Пусть для определенности p>a

2

= 0

 

 

 

 

b

c>

= t b

= 0. Поскольку все век-

 

 

 

 

Тогда

1

1

1

1

 

6

 

 

торы ненулевые, отсюда вытекает, что

b1

=eβ1b1, c1 = γ1c1

для каких-то ненулевых

 

e

 

 

 

e

 

 

e

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

коэффициентов β1, γ1.

Далее, мы можем выбрать вектор q = [q1, . . . , qn3 ]>, ортогональный c2, íî íå îðòî- гональный c1. Те же равенства (#) можно умножить на коэффициенты qk и просумми- ровать по k от 1 до n3:

 

 

 

 

 

(q>c1)a1b> = (q>c1) a1b>

+ (q>c2) a2b>.

 

 

 

 

Åñëè q

>

c

2

= 0

, то окажется, что

1b

2

=

hb

, h = 0e1

 

столбцыe2b

,

b

2

линейно зависимы.

 

 

 

 

 

1

e e

 

 

e e

1

 

 

 

 

 

e

6

 

e

 

a1

 

6

 

 

 

 

e e

 

 

 

 

 

 

= α1a1, b2 = β2b2. Â

 

 

Это противоречит исходным предположениям. Значит,

 

q>c2

= 0. Но тогда, повторяя

 

 

 

 

 

(q>c1) a1b> = (α1β1γ1) (q>c1)ae1b>

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

итоге

 

 

 

 

 

 

 

 

 

 

α1β1γ1 = 1.

предыдущие рассуждения, находим

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

e e e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь предположим, что при использовании вектора p оказалось, что p>ea1 = 0. Чтобы оставить в силе последовавшие рассуждения, достаточно переставить столбцы в мат- рицах A,e B,e Ce. Таким образом, мы доказали, что трилинейные разложения (A, B, C)

Возможно какое-то ослабление и этих условий.

268 Лекция 40

è (A,e B,e Ce) эквивалентны. Легко видеть также, как вести рассуждение в случае r > 2. Итак, полностью доказана следующая

Теорема единственности. Пусть X = (A, B, C) и столбцы в каждой из матриц A, B, C линейно независимы. Тогда трилинейное разложение (A, B, C) определе-

но однозначно с точностью до эквивалентности: если трилинейное разложение X = (A,e B,e Ce) таково, что каждая из матриц A,e B,e Ce с общим числом столбцом re

имеет линейно независимые столбцы, то re = r и разложения (A, B, C) и (A,e B,e Ce) эквивалентны.

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

Замечание. Единственность с точностью до эквивалентности имеет место и при более слабых предположениях, чем в доказанной нами теореме единственности. В 1970-х годах

Крускал доказал следующую теорему: пусть ранги матриц A, B, C равны rA, rB, rC

и пусть любые rA столбцов из A, любые rB столбцов из B и любые rC столбцов из C являются линейно независимыми; если rA + rB + rC ≥ 2r + 2, где r общее число столбцов для A, B и C, то трилинейное разложение (A, B, C) определено однозначно с точностью до эквивалентности.

40.8Тензорный ранг и умножение матриц

Трилинейные разложения имеют глубокую связь с теорией сложности вычислений. К компетенции данной теории относится, например, вопрос, интересующий каждого, кто

имеет дело с матрицами: какова истинная сложность умножения двух n × n-матриц?

Эпитет подчеркивает, что нас интересует сложность (число операций) самого быстрого алгоритма.

Ответ на этот вопрос до сих пор не получен. Для большинства лиц, когда-то знакомившихся с линейной алгеброй, в памяти остается правило строка на столбец , дающее

O(n3) операций. Однако, мы можем утверждать, что истинное число операций не превышает O(nlog2 7). Именно столько операций дает алгоритм Штрассена, который мы

обсуждали в самой первой лекции нашего курса.

Откуда же берется оригинальный способ умножения 2×2-матриц, на котором там все

основано? Теперь, в заключительной лекции, мы имеем возможность раскрыть тайну алгоритма Штрассена.

Итак, пусть

u2

u4

v2

v4

=

w2

w4 .

u1

u3

v1

v3

 

w1

w3

Равенства, выражающие wk через ui è vj, можно, очевидно, записать в такой форме:

w2

= u2v1

+ u4v2

,

w =

4 4

x u v , k = 1, 2, 3, 4.

w1

= u1v1

+ u3v2

,

 

 

 

w3

= u1v3

+ u3v4,

k

i=1 j=1

ijk i j

 

 

 

 

 

 

 

 

 

 

 

XX

 

w4 = u2v3 + u4v4.

 

 

 

 

 

 

 

 

 

Возникший здесь трехмерный массив X = [xijk] имеет размеры 4 × 4 × 4, его элементы

Е. Е. Тыртышников

269

 

 

xijk равны 0 либо 1. Вот сечения X ïî îñè k:

 

"0

0

0

0#

 

"0

1

0

0#

 

"0

0

0

0#

 

"0

0

0

1#

 

1

0

0

0

 

0

0

0

0

 

0

0

1

0

 

0

0

1

0

Xk=1 =

0

0

0

0

, Xk=2 =

1

0

0

0

, Xk=3 =

0

0

0

0

, Xk=4 =

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

0

0

0 .

В данном случае ясно, что тензорный ранг массива X не больше 8 (докажите!). Пусть он равен r. Тогда имеется трилинейное разложение

xijk = s=1 aisbjscks

wk = s=1 cks

=1 aisui!

j=1 bjsvj!

, k = 1, 2, 3, 4.

r

r

4

4

 

X

X

Xi

X

 

Как видим, трилинейное разложение ранга r порождает специальный алгоритм вы- числения величин wk, в котором всего r активных умножений так называются умножения, в которых оба множителя существенно зависят от входных переменных ui

è vj (числа ais, bjs, cks не зависят от ui, vj; их называют константами алгоритма умножение на константу не считается активным умножением).

Чтобы получить открытие Штрассена, достаточно решить задачу о вычислении тензорного ранга данного конкретного массива X. Можно ограничиться и более скромной

задачей: найти какое-нибудь трилинейное разложение ранга 7 (разложение ранга 8 связано с правилом строка на столбец ). Несмотря на отсутствие конечных алгоритмов точного вычисления тензорного ранга, разработка алгоритмов трилинейной аппроксимации заданного ранга является посильной задачей.

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

много времени на поиск тензорного ранга массива X. Вот как выглядит трилинейное разложение X = (A, B, C) ранга 7 в нашем случае: 1

A =

" 0

0

0

0

1

0

1

#, B = "

0

0

1

0

0

1

0

#,

 

1

0

1

0

1

−1

0

 

1

1

0

−1

0

1

0

 

 

0

1

0

0

0

1

0

 

0

0

0

1

0

0

1

 

 

1

1

0

1

0

0

−1

 

1

0

−1

0

1

0

1

 

C =

" 0

1

1

0

1

0

0

#.

 

1

0

0

1

−1

0

−1

 

 

0

1

0

1

0

0

0

 

 

1

−1

1

0

0

1

0

 

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

1Условия доказанной нами теоремы единственности в данном случае не выполнены. Поэтому можно найти и другое, неэквивалентное данному, разложение.

270

Лекция 40

 

 

Дополнение к лекции 1

41.1Параллельная форма алгоритма

Арифметическая сложность алгоритма вещь, конечно, важная в любом случае. Но с развитием компьютеров время становится все менее пропорциональным общему числу операций. Дело в том, что многие операции выполняются параллельно (одновременно).

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

Чтобы реализовать алгоритм на таком идеализированном компьютере, достаточно записать его в виде последовательности ярусов наборов информационно несвязанных операций (их можно выполнять параллельно). Такое представление алгоритма называется его параллельной формой, число ярусов называется высотой, а максимальное число

операций в одном ярусе шириной параллельной формы.

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

41.2Схема сдваивания и параллельное умножение матриц

Высота классического алгоритма умножения матриц имеет вид O (n). Докажите!

Легко получить и алгоритм высоты O (log2 n). Для этого достаточно построить алго-

ритм сложения n чисел, имеющий высоту O (log2 n). Такой алгоритм называется схемой

сдваивания: нужно разбить числа на пары, найти суммы для каждой пары, затем разбить результаты на пары, найти суммы, и так далее.

41.3Матрицы и рекуррентные вычисления

Рассмотрим последовательность величин x−1, x0, x1, . . . , в которой x−1, x0 заданы, а остальные величины вычисляются рекуррентно:

xk = akxk−1 + bkxk−2, k = 1, 2, . . . , n. ( )

Коэффициенты ak, bk считаются заданными. Чтобы вычислить xn, â ñèëó ( ) требуется выполнить O(n) арифметических операций. Число параллельных шагов также

271

Чтобы определить произведение матриц

272

Лекция 41

 

 

O(n). Возникает впечатление, что алгоритм с меньшей высотой параллельной формы

получить нельзя.

Но это впечатление обманчиво. Запишем соотношения ( ) в матричной форме:

xk−1

=

1 0

xk−2

,

xk

 

ak

bk

xk−1

 

èëè,

 

xk−1

zk = Akzk−1,

, Ak =

1 0 .

zk =

, zk−1

=

xk−2

 

 

xk

 

 

xk−1

 

 

ak bk

Отсюда

zn = Az0, A = An(An−1(· · · (A3(A2A1)) · · · ).

AnAn−1 · · · A1, нужно свести его к вычис-

лению произведений двух матриц. Это делается расстановкой скобок. Используя ассоциативность операции умножения матриц, можно доказать, что результат не будет зависить от порядка расстановки скобок; поэтому можно писать без скобок:

A = AnAn−1 · · · A1.

Чтобы найти zn (а значит, и xn), сначала вычислим матрицу A. Для этого можно использовать ту же схему сдваивания: находим произведения

AnAn−1, An−2An−3, . . . , A2A1,

затем попарные произведения полученных результатов, и так далее. Потребуется всего лишь O(log2 n) параллельных шагов!

41.4Модели и реальность

Âмодели бесконечного параллелизма мы отбрасываем, увы, слишком много деталей, которые следует учитывать. Я думаю, можно почувствовать проблемы параллельных вычислений, размышляя над следующей задачей-шуткой: Один землекоп выкапывает яму глубиной 1 метр за 1 час. За какое время эту яму выкопают 100 землекопов?

Чтобы выполнять какую-то работу параллельно, необходимо такую работу иметь.

Âсуществующих алгоритмах работы для параллельного (одновременного) исполнения может быть недостаточно. Оперируя над общими данными, процессоры могут мешать друг другу. Как учесть все это в более адекватных и все же поддающихся анализу моделях это трудный вопрос.

H1 ∩ H2.

Дополнение к лекции 2

42.1Конечные группы

Группа называется конечной, если в ней имеется конечное число элементов. В этом случае число элементов называется порядком группы.

Теорема Лагранжа. В любой конечной группе порядок любой подгруппы является делителем порядка группы.

Доказательство. Пусть H = {a1, . . . , am} подгруппа группы G. Возьмем элемент a G\H и рассмотрим множество

aH = {aa1, . . . , aam}.

Оно содержит m различных элементов: если aai = aaj, òî ai = aj. Кроме того, aH ∩ H = : åñëè ai = aaj, òî a H.

Åñëè H aH = G, то все доказано. Если нет, то существует b G\(H aH). Множество

bH = {ba1, . . . , bam}

также содержит m различных элементов и при этом

H ∩ aH = , H ∩ bH = , aH ∩ bH = .

Åñëè H aH bH = G, то все доказано. Если нет, действуем как и раньше. Поскольку число элементов в G конечно, на каком-то шаге мы получим разложение

H aH bH . . . cH = G

с конечным числом попарно непересекающихся множеств H, aH, bH, . . . , cH. 2

Задача. Докажите, что в любой бесконечной группе число различных подгрупп бесконечно.

Задача. В конечной группе G выбраны подгруппы H1 è H2 порядка n1 è n2, соответственно. Докажите, что число элементов в множестве H1H2 = {g G : g = h1h2, h1 H1, h2 H2} равно n1n2/d, ãäå d число элементов в пересечении

42.2Смежные классы, нормальные делители, фактор-группы

Пусть H подгруппа группы G è a G. Множества

aH = {x : x = ah, h H} è Ha = {y : y = ha, h H}

называются левым смежным классом è правым смежным классом группы G ïî ïîä-

группе H.

273

274

Лекция 42

 

 

Åñëè b aH, òî bH = aH (докажите!) отсюда вытекает, что левые (правые)

смежные классы либо совпадают, либо не пересекаются (на этом факте и было основано доказательство теоремы Лагранжа).

Подгруппа H называется нормальной подгруппой èëè нормальным делителем

группы G, åñëè

aH = Ha a G. aha−1 H a G h H.

Элемент eh называется сопряженным ê h, åñëè eh = aha−1 для некоторого a G. Таким образом, подгруппа H G является нормальной тогда и только тогда, когда H вместе

с любым элементом содержит все сопряженные к нему элементы.

Пусть K множество различных смежных классов для нормального делителя H G. Определим произведение смежных классов следующим образом:

(aH)(bH) ≡ (ab)H.

Прежде всего, нужно убедиться в том, что если a1 aH, b1 bH, òî (a1b1)H = (ab)H (то есть, определение корректно). Пусть a1 = ah1, b1 = bh2, h1, h2 H. Значит, если h H, òî

(a1b1)h = ah1bh2h = (ab)(b−1h1b)(h2h) (ab)H. 2

Нетрудно проверить, что операция умножения смежных классов превращает множество K в группу. Эта группа называется фактор-группой группы G по нормальному

делителю H. Обозначение: K = G/H.

Задача. Какие смежные классы являются подгруппами?

Задача. Докажите, что любая абелева группа порядка pq, ãäå p è q различные простые числа, является циклической.

42.3Изоморфизмы групп

Рассмотрим группу H с операцией и группу G с операцией . Обратимое отображение f : H → G называется изоморфизмом, åñëè

f(a b) = f(a) ◦ f(b) a, b H. (#)

Свойство (#) называется свойством сохранения операций. Легко видеть, что обратное отображение f−1 : G → H также является изоморфизмом. Группы H è G называются

изоморфными. Обозначение: H ' G. Несмотря на формальные различия в определении

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

Например, любые две конечные циклические группы одного порядка n будут изоморфными. Если a0, a1, . . . , an−1 все различные элементы группы H, òî an = a0 (äî- кажите!). Пусть b0, b1, . . . , bn−1 все различные элементы группы G. Тогда определим отображение f правилом f(ak) = bk. Оно является изоморфизмом, поскольку

f(ak+m) = bk+m = bk bm = f(ak) f(am).

Задача. Докажите, что группа положительных рациональных чисел относительно умножения не изоморфна группе всех рациональных чисел с операцией сложения.

Задача. Найдите все группы, изоморфные любой своей неединичной подгруппе.

Е. Е. Тыртышников

275

 

 

42.4Гомоморфизмы групп

Отображение f : H → G называется гомоморфизмом, если выполняется свойство сохранения операций (#) (при этом обратимость отображения не требуется).

Обозначим через eG единичный элемент группы G. Его полный прообраз K = f−1(eG) называется ядром гомоморфизма f. Множество f(H) называется образом го-

моморфизма f.

Утверждение. Ядро гомоморфизма f : H → G является нормальной подгруппой группы H. Образ гомоморфизма f является подгруппой группы G.

Доказательство. Пусть e единица группы H è K ядро гомоморфизма f. Äëÿ

любого a H находим f(ae) = f(a)f(e) = f(a)

f(e) = eG. Èòàê, e K.

.

Далее, если a

 

 

H, òî f(e) = f(aa−1) = f(a)f(a−1) = e

G

f(a−1) = (f(a))−1

 

 

 

 

K. Тогда f(a−1) = e

1

= e

G

a−1

 

 

 

Предположим, что a

 

K.

 

 

 

 

 

 

G

 

 

 

 

 

 

 

Åñëè f(a) = f(b) = eG, òî f(ab) = eGeG = eG

ab K.

a H, b K. Тогда

Наконец, проверим нормальность подгруппы K. Пусть

f(aba − 1 ) = f ( b ) = e G

 

aba−1 K.

2

 

 

 

 

 

 

 

 

 

Теорема о гомоморфизме. Пусть f : H → G гомоморфизм группы H в группу G и пусть K его ядро. Тогда f(H) ' H/K.

Доказательство. Отображение Φ : H/K → f(H) определим следующим образом:

Φ(aK) = f(a), a H.

Пусть a1 = ab1, b1 K. Тогда f(a1) = f(a).

Обратно, если f(a1) = f(a), òî f(a1a−1) = eG a1a−1 K. Таким образом, отображение определено корректно (то есть, не зависит от выбора представителя a â

смежном классе aK) и является взаимно-однозначным. Легко видеть, что оно сохраняет операции:

Φ((aK)(bK)) = Φ((ab)K) = f(ab) = f(a)f(b) = Φ(aK)Φ(bK). 2

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

которой размещаются образы элементов, не требуется знание самой группы G вопрос сводится к изучению фактор-групп по нормальным делителям заданной группы.

42.5Избыточность в определении группы

Пусть G непустое множество с ассоциативной алгебраической операцией. Элемент e G называется правой единицей, åñëè ae = a äëÿ âñåõ a G. Элемент b G назывется правым обратным äëÿ a G относительно правой единицы e, åñëè ab = e.

Теорема. Пусть G имеет правую единицу e, относительно которой для каждого элемента a G существует правый обратный элемент. Тогда G является группой.

Доказательство. Докажем, что правая единица e является единичным элементом. Возьмем произвольный элемент a и положим c = ea. Согласно условию теоремы, существуют b, d G такие, что ab = e è bd = e. Отсюда a = ed. Далее, cb = e(ab) = e, откуда c = ed = a.

Докажем теперь, что b является обратным элементом для a. Пусть c = ba. Тогда cb = b(ab) = b, è

значит, c = bd = e. 2

276

Лекция 42

 

 

Соседние файлы в папке лИТЕРАТУРА