Předmluva k šestému číslu časopisu Kvaternion

Podobné dokumenty
ALGEBRY ROTACÍ A JEJICH APLIKACE. 1. Úvod

6. Vektorový počet Studijní text. 6. Vektorový počet

0.1 Úvod do lineární algebry

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

0.1 Úvod do lineární algebry

Základy maticového počtu Matice, determinant, definitnost

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

1 Linearní prostory nad komplexními čísly

1 Báze a dimenze vektorového prostoru 1

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

ANALYTICKÁ GEOMETRIE V ROVINĚ

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

ALGEBRA. Téma 4: Grupy, okruhy a pole

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

1 Projekce a projektory

Vlastní čísla a vlastní vektory

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

EUKLIDOVSKÉ PROSTORY

Operace s maticemi. 19. února 2018

Algebry rotací a jejich aplikace

Lineární algebra : Metrická geometrie

Báze a dimenze vektorových prostorů

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Lineární algebra - I. část (vektory, matice a jejich využití)

Cvičení z Lineární algebry 1

Úvod do lineární algebry

1 Vektorové prostory.

Lineární algebra : Lineární prostor

5. Lokální, vázané a globální extrémy

6.1 Vektorový prostor

15 Maticový a vektorový počet II

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Lineární algebra Operace s vektory a maticemi

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.

1 Řešení soustav lineárních rovnic

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Základy matematiky pro FEK

6 Samodružné body a směry afinity

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Matematika I 12a Euklidovská geometrie

Vlastní čísla a vlastní vektory

6 Lineární geometrie. 6.1 Lineární variety

ELIPTICKÉ KRYPTOGRAFIE S VYBRANÝMI ALGORITMY,

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

AVDAT Vektory a matice

1 Determinanty a inverzní matice

(Cramerovo pravidlo, determinanty, inverzní matice)

Lingebraické kapitolky - Analytická geometrie

Ortogonální projekce a ortogonální zobrazení

1 Mnohočleny a algebraické rovnice

IB112 Základy matematiky

Vlastní čísla a vlastní vektory

Matematika B101MA1, B101MA2

Číselné vektory, matice, determinanty

1.13 Klasifikace kvadrik

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Lineární algebra Kapitola 1 - Základní matematické pojmy

DEFINICE Z LINEÁRNÍ ALGEBRY

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

1 Lineární prostory a podprostory

Operace s maticemi

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

7. Lineární vektorové prostory

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

18. První rozklad lineární transformace

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

1 Mnohočleny a algebraické rovnice

8 Matice a determinanty

2. prosince velikosti symboly a, b, je b ω a b = a b cosω (1) a. ω pro ω π/2, π platí a b = b a a (3) a b = a 1 b 1 + a 2 b 2 + a 3 b 3 (5)

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Základy matematiky pro FEK

Těleso racionálních funkcí

Lineární algebra : Polynomy

Pavel Horák, Josef Janyška LINEÁRNÍ ALGEBRA UČEBNÍ TEXT

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Vlastnosti lineárních zobrazení a velikost vektorů

PŘEDNÁŠKA 7 Kongruence svazů

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Kapitola 11: Vektory a matice 1/19

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Pavel Horák LINEÁRNÍ ALGEBRA A GEOMETRIE 1 UČEBNÍ TEXT

Transkript:

Předmluva k šestému číslu časopisu Kvaternion Milé čtenářky, milí čtenáři, s jistým zpožděním se do vašich rukou dostává druhé číslo Kvaternionu ročníku 2014. Tématem čísla je Aplikovaná algebra pro inženýry, předmět, který byl nedávno jako nový zaveden pro všechny studenty Fakulty strojního inženýrství VUT v Brně, předmět, u jehož zrodu stálo několik mých kolegů z Odboru algebry a diskrétní matematiky, z nichž patří hlavní zásluha (a prvotní nápad) docentu Jaroslavu Hrdinovi. V pozadí této iniciativy je naše hluboké přesvědčení, že nejen derivacemi a integrály by měl být živ (tedy matematicky napájen) inženýr a že v matematické přípravě technicky vzdělávaných odborníků je nutno nebát se překonávat různá rigidní schémata. V tomto čísle se proto setkáte s teorií grup, s pokročilejší lineární algebrou, s algebraickými křivkami nad konečnými poli a to jako s teoretickým základem například pro robotiku, kryptografické algoritmy či ekonomické aplikace teorie her. Dobrou zprávou je také to, že se v Kvaternionu pravděpodobně brzy setkáme se zajímavými příspěvky emeritního profesora Alexandra Ženíška, bývalého ředitele Ústavu matematiky. První z nich je již v tomto čísle: na první pohled lehčí žánr, ale čtení navýsost zajímavé. Dovolím si vám popřát, ať se vám články nejnovější čísla dobře čtou a ať vás odborně obohatí. V Brně dne 31. 3. 2015 Miroslav Kureš Ústav matematiky Fakulta strojního inženýrství VUT v Brně

Kvaternion 2/2014, 43 62 43 ALGEBRY ROTACÍ A JEJICH APLIKACE JAROSLAV HRDINA Abstrakt. Následující text pokrývá jeden z cyklů přednášek předmětu Aplikovaná algebra pro inženýry (0AA) na FSI VUT. Text vznikl při druhém běhu tohoto předmětu ve školním roce 2013/2014 a jeho výsledná korekce proběhla ve školním roce 2014/2015. 1. Úvod Cílem textu je motivace pro studium pokročilých partií lineární algebry. U čtenáře se předpokládá znalost na úrovni základního kurzu matematiky obvyklého na technických fakultách. Konkrétně se předpokládá znalost maticového počtu, definice a vlastností determinantů a základy geometrie vektorového prostoru R 3. Základ textu tvoří kapitoly 2, 3, 4, kapitola 5 je doplňková a ukazuje další možnou reprezentaci grupy rotací prostoru R 3. Budeme se převážně opírat o knihy [4, 6] a částečně i o knihu [3]. Kniha [6] je matematickým úvodem do Lieovy teorie, kniha [4] je monografie o sférickém pohybu motivovaná technickou praxí. Konečně kniha [3] je dnes již klasickou literaturou dávající do souvislosti kinematiku a Lieovy grupy. Znalosti s lineární algebry si čtenář může doplnit v knize [9]. Text může spolu s článkem [2] sloužit jako úvod pro studium monografie [5]. V neposlední řadě je možné ke studiu využít i kvalifikační práce zpracované studenty matematického inženýrství na FSI VUT [1, 7, 8]. 2. Grupa SO(3) Motivováni inženýrskými aplikacemi pracujeme především s vektorovým prostorem R 3. Prvky vektorového prostoru R 3 budeme zapisovat jako uspořádané trojice reálných čísel (x, y, z). Operace sčítání na R 3 je pak definována po složkách: (x 1, y 1, z 1 ) + (x 2, y 2, z 2 ) = (x 1 + x 2, y 1 + y 2, z 1 + z 2 ) a operace násobení číslem k R předpisem: k (x, y, z) = (kx, ky, kz). V další kapitole uvidíme, že takto definované operace na R 3 splňují podmínky obecné definice vektorového prostoru nad polem skalárů R, ale obecnější úvahy 2010 MSC. Primární 15B10; Sekundární 11R52. Klíčová slova. matematická robotika, teorie pohyblivého repéru, grupa SO(3), algebra kvaternionů, grupa SU(2). Práce byla podporována projektem A-Math-Net Síť pro transfer znalostí v aplikované matematice (CZ.1.07/2.4.00/17.0100).

44 JAROSLAV HRDINA o vektorových prostorech zatím nepotřebujeme. Pro danou konečnou množinu M = {v 1,..., v n } R 3 definujeme její lineární kombinace jako konečné kombinace sčítání vektorů z M vynásobených reálnými čísly, tj. a 1 v 1 + + a n v n, a i R, i = 1,..., n. Vidíme, že každý prvek (x, y, z) R 3 je možné jednoznačně vyjádřit jako lineární kombinaci prvků (1, 0, 0), (0, 1, 0) a (0, 0, 1) takto: (x, y, z) = x(1, 0, 0) + y(0, 1, 0) + z(0, 0, 1). Pokud má být toto vyjádření jednoznačné, musí platit: a 1 v 1 + + a n v n = b 1 v 1 + + b n v n a i = b i, i {1,..., n}. Tuto podmínku lze přepsat na stručnější podmínku: c 1 v 1 + + c n v n = 0 c i = 0 (kde c i = b i a i ), která v našem příkladě triviálně platí: (x, y, z) = x(1, 0, 0) + y(0, 1, 0) + z(0, 0, 1) = 0 x = y = z = 0. Množině prvků pro které platí, že jejich lineární kombinací lze jednoznačně vyjádřit každý prvek vektorového prostoru se říká báze a příslušným koeficientům lineární kombinace pak souřadnice vektoru v dané bázi. Tento pojem bude hrát zásadní roli v našich dalších úvahách. Prvky námi nalezené báze označíme e 1 = (1, 0, 0), e 2 = (0, 1, 0), e 3 = (0, 0, 1) a bázi {e 1, e 2, e 3 } říkáme kanonická. Naše notace říká, že vektory R 3 zapisujeme řádkově a jejich souřadnice v příslušné bázi sloupcově. Vektor (x, y, z) má tedy v kanonické bázi souřadnice (x, y, z) T. Jinou bází prostoru R 3 je například množina {(1, 0, 0), (1, 1, 0), (1, 1, 1)}, kde každý prvek (x, y, z) lze vyjádřit jako lineární kombinaci (x, y, z) = (x y)(1, 0, 0) + (y z)(1, 1, 0) + z(1, 1, 1) a vektor (x, y, z) má tedy v bázi {(1, 0, 0), (1, 1, 0), (1, 1, 1)} souřadnice (x y, y z, z) T a podmínka nezávislosti vede na soustavu c 1 (1, 0, 0) + c 2 (1, 1, 0) + c 3 (1, 1, 1) = 0 c 1 + c 2 + c 3 = 0, c 2 + c 3 = 0, c 3 = 0, která má jen triviální řešení c 1 = c 2 = c 3 = 0. Poznamenejme, že operace sčítání vektorů indukuje operaci sčítání po složkách na sloupcích souřadnic v libovolné bázi, stejně tak operace násobení skalárem. Prostor souřadnic má tedy opět strukturu vektorového prostoru čehož budeme později využívat.

ALGEBRY ROTACÍ A JEJICH APLIKACE 45 Definice 2.1. Lineární transformací na R 3 rozumíme zobrazení T : R 3 R 3 splňující následující vlastnosti: T (v + w) = T (v) + T (w) pro všechna v, w R 3, T (αw) = αt (w) pro všechna w R 3, α R. Přímočarým použitím těchto vlastností vidíme, že lineární transformace závisí jen na obrazech prvků báze: T (xe 1 + ye 2 + ye 3 ) = xt (e 1 ) + yt (e 2 ) + zt (e 3 ). (2.1) Obraz každého prvku báze je opět prvek vektorového prostoru R 3 a můžeme ho tedy vyjádřit jako lineární kombinaci prvků báze: T (e 1 ) = m 11 e 1 + m 12 e 2 + m 13 e 3, T (e 2 ) = m 21 e 1 + m 22 e 2 + m 23 e 3, T (e 3 ) = m 31 e 1 + m 32 e 2 + m 33 e 3. Pokud toto vyjádření dosadíme do výrazu (2.1) dostáváme následující výpočet T (xe 1 + ye 2 + ze 3 ) = xt (e 1 ) + yt (e 2 ) + zt (e 3 ) = m 11 xe 1 + m 12 xe 2 + m 13 xe 3 + m 21 ye 1 + m 22 ye 2 + m 23 ye 3 + m 31 ze 1 + m 32 ze 2 + m 33 ze 3 = (m 11 x + m 21 y + m 31 z)e 1 + (m 12 x + m 22 y + m 32 z)e 2 + (m 13 x + m 23 y + m 33 z)e 3. Nahradíme-li vektor xe 1 +ye 2 +ze 3 sloupcem jeho souřadnic (x, y, z) T, pak poslední výraz není nic jiného než přepsané násobení maticí a transformace T zobrazuje vektor jehož souřadnice ve zvolené bázi jsou (x, y, z) T na vektor jehož souřadnice ve zvolené bázi jsou m 11 m 21 m 31 m 12 m 22 m 32 (x, y, z) T. m 13 m 23 m 33 Tato úvaha ukazuje, že každé lineární transformaci v R 3 odpovídá ve zvolené bázi matice 3 3, která vznikne tak, že ve sloupcích máme souřadnice obrazů bázových prvků. Není těžké ověřit, že naopak násobení libovolnou maticí 3 3 funguje na souřadnicích vektorů R 3 jako lineární transformace. Matice dané lineární transformace je dána jednoznačně (jednoznačnost je dána volbou báze). Lineární transformace na R 3 jsou tedy v jedno jednoznačné korespondenci s maticemi 3 3, přičemž tato korespondence je dána volbou báze. Jako další krok definujeme na vektorovém prostoru R 3 skalární součin jako zobrazení, : R 3 R 3 R. následujícím předpisem v souřadnicích zvolené báze (x 1, y 1, z 1 ) T, (x 2, y 2, z 2 ) T = x 1 x 2 + y 1 y 2 + z 1 z 2.

46 JAROSLAV HRDINA Na vektorových prostorech se skalárním součinem jsou pojmy jako velikost vektoru (norma) a odchylka mezi vektory zavedeny právě pomocí skalárního součinu následovně: u = u, v u, u, cos ϕ = u v. Hledáme lineární transformace, které zachovávají délky a úhly, takovým transformacím se říká transformace pevného tělesa a jsou to právě ty transformace, které zachovávají skalární součin. Všimněme si, že maticově můžeme skalární součin zapsat jako u, v = u T v jak vidíme z následujícího výpočtu: (x 1, y 1, z 1 ) T, (x 2, y 2, z 2 ) T := (x 1, y 1, z 1 )(x 2, y 2, z 2 ) T = (x 1, y 1, z 1 ) y 2 z 2 = x 1 x 2 + y 1 y 2 + z 1 z 2. Nás tedy zajímají lineární transformace, které jsou reprezentované maticí A zachovávající skalární součin, který je na souřadnicích vektorů ve zvolené bázi indukovaný předpisem u, v = u T v a můžeme z následujícího výpočtu odvodit podmínku na matici A. Z výrazu (Au) T (Av) = u T A T Av = u T v dostáváme A T A = E, protože předpokládáme (Au) T (Av) = u T v. Dostáváme tak množinu matic zachovávajících skalární součin O(3) = {A Mat(3, R) A T A = E}. Na množině O(3) můžeme definovat operaci násobení jako násobení dvou matic A, B O(3) Mat(3, R), protože výsledná matice po vynásobení nevypadne z O(3): (AB) T (AB) = B T (A T A)B = B T B = E. Ukážeme, že prvky množiny O(3) mají inverzi, která leží v O(3), protože prvky A a A T komutují, neboť (AA T A T A)A = (AA T E)A = (A A) = 0 AA T A T A = 0. Poslední implikace je důsledkem toho, že matice A je invertibilní, protože determinant matice A je nenulový. Proto platí (A T ) T A T = A T (A T ) T = A T A = E, a tedy A T O(3), kde jednička je jednotková matice 1 0 0 E = 0 1 0, 0 0 1 pro kterou identita E T E = E platí triviálně. Množině s jednou binární operací (M, ), která je asociativní, tj. a (b c) = (a b) c, a, b, c M, (násobení matic obecně je asociativní a protože se jedná o identitu je vlastnost asociativity indukována i na její podmnožiny), obsahuje jedničku a každý prvek x 2

ALGEBRY ROTACÍ A JEJICH APLIKACE 47 má inverzi, říkáme grupa. Dvojice (O(3), ) tedy tvoří grupu, kterou nazýváme ortogonální grupa. Další zajímavou vlastností je, že prvky množiny O(3) mají determinant ±1. Protože determinant součinu je součin determinantů a determinant transponované matice A T je stejný jako determinant matice A, dostaneme 1 = det(e) = det(a T A) = det(a T )det(a) = (det(a)) 2, a tedy det(a) = ±1. Protože det(a) = ±1, grupa O(3) se rozpadá na dvě podmnožiny, množinu SO(3) matic s determinantem jedna a množinu O (3) matic s determinantem minus jedna. Součin dvou matic s determinantem jedna je opět matice s determinantem jedna, množina SO(3) je tedy uzavřená na násobení. Protože transpozice determinant nemění a jednotková matice má determinant jedna, tvoří množina SO(3) opět grupu (asociativitu dokazovat nemusíme, protože se jedná opět o násobení matic). Množina O (3) neobsahuje jedničku a není uzavřená na násobení. Navíc platí, že násobení libovolným prvkem z O (3) určuje jedno jednoznačnou korespondenci mezi množinami O (3) a SO(3), zvolíme-li za takový prvek třeba matici 0 0 1 I = 0 1 0, 1 0 0 můžeme každý prvek z O (3) chápat jako kompozici prvku z SO(3) a lineární transformace I. Poznamenejme, že geometrický význam transformace I je zrcadlení kolem roviny y = 0. V dalším uvidíme, že prvky SO(3) odpovídají rotacím kolem zvolené osy v kladném směru. Pokud tedy navíc požadujeme zachování orientace (což je přirozený požadavek při transformaci pevného tělesa), dostáváme jako grupu transformaci grupu SO(3), které říkáme speciální ortogonální grupa. Dalším pojmem, který zavedeme, je pojem vlastního čísla a vlastního vektoru. Definice 2.2. Nechť T : R 3 R 3 je lineární transformace. Číslo λ C nazýváme vlastní číslo transformace T, pokud existuje v o, v R 3 takové, že T (v) = λv, kde o R 3 je nulový vektor. Pokud máme lineární transformaci zadanou maticí A můžeme vlastní čísla a vlastní vektory vypočítat jako kořeny polynomu det(a λe), kterému říkáme charakteristický polynom matice A. Podstatnou vlastností, kterou zde nebudeme dokazovat je, že vlastní čísla nezávisí na zvolené bázi a dává proto smysl hovořit o vlastních číslech transformace jako o vlastních číslech matice transformace ve zvolené bázi. To plyne z následující úvahy: Av = λv, Av λv = o, Av λev = o, (A λe)v = o,

48 JAROSLAV HRDINA přičemž poslední výraz nám říká, že v je v jádru zobrazení (A λe) a protože v je nenulové, musí platit, že det(a λe) = 0. Nejprve podrobněji prodiskutujeme případ SO(2). Pokud má matice ( ) a b A = c d ležet v SO(2), musí splňovat identitu A T A = E a současně det(a) = 1. Z první podmínky dostaneme: ( ) ( ) ( ) ( ) a c a b a = 2 + c 2 ab + cd 1 0 b d c d ab + cd b 2 + d 2 =. 0 1 Protože a 2 +c 2 = 1, můžeme v polárních souřadnicích vyjádřit a = cos ϕ, c = sin ϕ a dosazením do rovnice ab+cd = 0 dostaneme d = C cos ϕ, b = C sin ϕ. Konečně z rovnice b 2 + d 2 = 1 máme C = ±1 a determinant det(a) = C = 1. Celkem dostáváme vyjádření obecné matice A SO(2) jako matici rotace kolem středu o úhel ϕ: ( ) cos ϕ sin ϕ. sin ϕ cos ϕ V následujícím odstavci podrobněji rozebereme případ A SO(3). Reálné vlastní číslo matice z SO(3) může být pouze ±1, protože λ 2 v, v = λv, λv = Av, Av = v, v. Současně si všimneme, že charakteristický polynom pro libovolnou matici z grupy SO(3) je stupně 3 a jeho kořeny mohou tedy být buď tři reálné, nebo jeden reálný a dva komplexně sdružené. V obou případech platí, že matice z SO(3) má vždy alespoň jedno reálné vlastní číslo. Determinant matice se rovná součinu vlastních čísel včetně násobnosti (důkaz je možné nalézt například v knize [9]) a pokud je matice A SO(3), jsou dvě možnosti (±1)(±1)(±1) = 1, nebo (±1)(a + bi)(a bi) = 1. V prvním případě je buď jedno nebo všechna tři čísla rovna jedné, v druhém případě dostaneme ±1(a 2 + b 2 ) = 1 a protože (a 2 + b 2 ) > 0, musí být první vlastní číslo 1. Platí tedy, že pro matice z SO(3) existuje alespoň jeden vlastní vektor s vlastním číslem 1. Předpokládejme, že v je vlastní vektor s vlastním číslem 1, pak můžeme zvolit podprostor v prostoru souřadnic zvolené báze. F = {w R 3 v, w = 0}. Pro matici A SO(3), pak platí A(v) = v a ukážeme, že matice A zachovává F. Nechť w F, pak 0 = w, v = A(w), A(v) = A(w), v. Můžeme tedy zúžit A na podprostor F a protože A SO(3) zachovává skalární součin, zúžení A F zachovává skalární součin na F, tedy F musí být izomorfní SO(2). Pokud zvolíme bázi, kde první bázový vektor bude v a zbývající dva budou tvořit ortogonální bázi F, bude matice lineární transformace odpovídat matici 1 0 0 0 cos(θ) sin(θ). 0 sin(θ) cos(θ)

ALGEBRY ROTACÍ A JEJICH APLIKACE 49 Každá matice z SO(3) je tedy rotací kolem osy v o zvolený úhel θ. V kanonické bázi pak rotace kolem os x, y a z o úhel θ odpovídají maticím 1 0 0 cos(θ) 0 sin(θ) cos(θ) sin(θ) 0 0 cos(θ) sin(θ), 0 1 0 a sin(θ) cos(θ) 0. 0 sin(θ) cos(θ) sin(θ) 0 cos(θ) 0 0 1 Stopou matice A rozumíme součet prvků na hlavní diagonále a označujeme ji Tr(A). Platí, že stopa matice je nezávislá na volbě báze a pro matici A SO(3) tedy vždy platí, že T r(a) = 1 + 2 cos(θ). Tohoto vztahu můžeme využít pro nalezení úhlu rotace: cos θ = Tr(A) 1. 2 Pokud bychom analyzovali matici A Mat(3, R), tedy matici 3 3 nad reálnými čísly, postupujeme podle následujícího algoritmu: 1. Pokud platí identita A T A = E, jedná se o matici zachovávající skalární součin. 2. Pokud det(a) = 1, jedná se o rotaci v kladném směru. 3. Nalezneme osu rotace jako řešení systému (A E)(x 1, x 2, x 3 ) T = 0. 4. Určíme úhel rotace podle vzorce cos θ = Tr(A) 1 2. 3. Metoda pohyblivého repéru V předešlé kapitole jsme používali intuitivně pojem báze, ale pro naše další úvahy je potřeba postupovat formálněji. Poznamenejme, že pokud máme množinu s binární operací (M, ) pak říkáme, že operace je komutativní pokud platí a b = b a, a, b M. Definice 3.1. Vektorový prostor (nad reálnými čísly R) je množina V, na které je definována operace + : V V V taková, že dvojice (V, +) tvoří komutativní grupu a operace násobení skalárem : R V V taková, že platí kde a, b R a u, v V. a (u + v) = a u + a v, (a + b) u = a u + b u, (ab) u = a (b u), 1 u = u, Báze vektorového prostoru je pak nejmenší možná množina vektorů, jejichž lineární kombinace generují celý vektorový prostor. Příklad 3.2. Jako příklad této obecnější definice si uvedeme množinu polynomů maximálně druhého stupně R 2 [x] spolu s operací sčítání polynomů a násobení reálnými čísly tvoří vektorový prostor. Tedy například můžeme tvořit takovéto lineární kombinace: (x 2 + 2x 3) + 2(x + 12) = (x 2 + 4x + 21).

50 JAROSLAV HRDINA Báze prostoru R 2 [x] může být například množina α = {1, x, x 2 }, nebo množina β = {1, 1 + x, x + x 2 }. Protože jedna z vlastností báze je, že každý vektor z vektorového prostoru je možné jednoznačně vyjádřit jako lineární kombinaci jejich prvků, pro vektorový prostor R 2 [x] a báze α a β z příkladu dostáváme jednoznačné lineární kombinace (x 2 + 4x + 21) = 21(1) + 4(x) + 1(x 2 ), (x 2 + 4x + 21) = 18(1) + 3(1 + x) + 1(x + x 2 ). Obecně pevně zvolená báze vektorového prostoru každému vektoru jednoznačně přiřazuje jednoznačnou n-tici reálných čísel, kterým říkáme souřadnice vektoru v dané bázi. Volba báze tedy určuje izomorfismus mezi vektorovým prostorem a R n (v našem případě R 3 ). Souřadnice vektoru v v bázi γ se pak označuje [v] γ a pro vektorový prostor R 2 [x] a báze α a β z příkladu dostáváme 21 [x 2 + 4x + 21] α = 4, 1 18 [x 2 + 4x + 21] β = 3. 1 V předešlé kapitole jsme pracovali s vektorovým prostorem R 3 a takzvanou kanonickou bází α = {(1, 0, 0), (0, 1, 0), (0, 0, 1)}. Příslušná matice transformace T pak je maticí transformace v bázi α a píšeme [T ] α. Série úvah provedená v minulé kapitole ale na této volbě nezávisí. Volba báze jednoznačně přiřazuje každé lineární transformaci T : R 3 R 3 matici 3 3, která pak funguje jako stejná lineární transformace na souřadnicích v této bázi. Definice 3.3. Nechť V je vektorový prostor nad R, a nechť T : V V je lineární transformace. Pro pevně zvolenou bázi β vektorového prostoru V je matice [T ] β maticí lineární transformace v bázi β právě tehdy, když [T (v)] β = [T ] β [v] β. Nalezení matice [T ] β se provede tak, že se obrazy bázových prvků báze β vyjádří v souřadnicích báze β a tvoří pak sloupce matice [T ] β. Definici můžeme ještě zobecnit tak, že na vektorovém prostoru V zvolíme dvě báze α, β a uvažujeme matici [T ] α β jako matici splňující [T (v)] β = [T ] α β [v] α. Na vstupu tedy máme souřadnice vektoru v v bázi α a na výstupu obrazy vektorů v souřadnicích báze β. Vlastní výpočet se pak provede analogicky tak, že se obrazy bázových vektorů báze α vyjádří v souřadnicích báze β a tyto souřadnice pak tvoří sloupce matice [T ] α β. Příklad 3.4. Pokračujeme v Příkladu 2.3 a na vektorovém prostoru R 2 [x] zavedeme operaci derivace algebraicky takto (ax 2 + bx + c) = 2ax + b.

ALGEBRY ROTACÍ A JEJICH APLIKACE 51 Na R 2 [x] zavedeme dvě báze α = {1, x, x 2 }, β = {1, 1 + x, x + x 2 } a vypočteme matici [ ] α β. Vezmeme tedy vektory báze α, zderivujeme je 1 = 0 x = 1 x 2 = 2x a souřadnice výsledných vektorů v bázi β jsou pak [0] β = 0(1) + 0(1 + x) + 0(x + x 2 ), [1] β = 1(1) + 0(1 + x) + 0(x + x 2 ), [2x] β = 2(1) + 2(1 + x) + 0(x + x 2 ). Tedy matice [ ] α β je v následujícím tvaru: 0 1 2 0 0 2. 0 0 0 Pokud například vezmeme jako lineární transformaci identitu, bude příslušná matice transformace [id] α β přepočítávat souřadnice vektorů báze α do souřadnic vektorů báze β. Definice 3.5. Nechť α a β jsou dvě báze vektorového prostoru V a matice [P ] α β splňuje [v] β = [P ] α β [v] α (jedná se vlastně o matici transformace P, kde P = id je identické zobrazení). Pak matici [P ] α β říkáme matice přechodu od báze α k bázi β. l 2 l 1 l 0 Obrázek 1. Robot se dvěma kinematickými dvojicemi. Metoda pohyblivého repéru (báze) je způsob jak sestavit kinematický řetězec. Jako příklad volíme robotické rameno (Obrázek 1.) se dvěma kinematickými dvojicemi, první sférickou a druhou cylindrickou. Zavedeme si tři bázové systémy. První je spojený s patou systému a další dva odpovídají příslušným kinematickým dvojicím. Cílem je vyjádření koncového bodu v souřadnicích prvního bázového systému v závislosti na parametrech kinematických dvojic. Označíme si příslušné bázové systémy jako B 0 = (P 0, x 0, y 0, z 0 ), B 1 = (P 1, x 1, y 1, z 1 ), B 2 = (P 2, x 2, y 2, z 2 ),

52 JAROSLAV HRDINA kde P i jsou body počátku souřadného systému a množiny {x i, y i, z i } báze R 3. Příslušné délky ramen jsou pak obecně l 0, l 1 a l 2. Sférickou kinematickou dvojici popíšeme jako složení dvou cylindrických, a to nejprve v ose z 1 a pak v ose y 1, tedy cos θ 2 0 sin θ 2 cos θ 1 sin θ 1 0 A 1 = 0 1 0 sin θ 1 cos θ 1 0. sin θ 2 0 cos θ 2 0 0 1 Cylindrickou dvojici pak realizujeme jako rotaci v ose z 2, tedy cos θ 3 sin θ 3 0 A 2 = sin θ 3 cos θ 3 0. 0 0 1 Matice přechodu z báze B 1 k bázi B 0 je A 1, matice přechodu z báze B 2 k bázi B 1 je A 2 a matice přechodu z báze B 2 k bázi B 0 je pak A 1 A 2. Nechť Q je koncový z2 x2 z2 x2 y2 P2 x2 y2 z1 x1 y2 P2 z1 z1 z2 P2 P1 y1 x1 z0 P0 x0 z0 x0 P0 y0 y1 P1 x1 y0 z0 P0 x0 y1 P1 y0 Obrázek 2. Metoda pohyblivého repéru. bod systému (chapadlo). Poloha vektoru (P i Q) v souřadném systému B i je určená sloupcem souřadnic [P i Q] Bi. Konkrétně v souřadném systému B 2 je poloha určena vektorem [P 2 Q] B2 = (l 2, 0, 0) T. Dalším krokem je určení polohy P 1 Q v souřadném systému B 1 tedy [P 1 Q] B1 = [P 1 P 2 ] B1 + [P 2 Q] B1 = (0, 0, l 1 ) T + A 2 (l 2, 0, 0) T a konečně P 0 Q v souřadném systému B 0 [P 0 Q] B0 = [P 0 P 1 ] B0 + [P 1 Q] B0 = (0, 0, l 0 ) T + A 1 (0, 0, l 1 ) T + A 1 A 2 (l 2, 0, 0) T. Rozepíšeme si to maticově 0 cos θ 2 0 sin θ 2 cos θ 1 sin θ 1 0 0 [P 0 Q] B0 = 0 + 0 1 0 sin θ 1 cos θ 1 0 0 + l 0 sin θ 2 0 cos θ 2 0 0 1 l 1 cos θ 2 0 sin θ 2 cos θ 1 sin θ 1 0 cos θ 3 sin θ 3 0 2 + 0 1 0 sin θ 1 cos θ 1 0 sin θ 3 cos θ 3 0 l 0 sin θ 2 0 cos θ 2 0 0 1 0 0 1 0 a dostaneme systém rovnic závislý na třech parametrech θ 1, θ 2, θ 3 0, 2π, který odpovídá kinematice zvoleného robota. Volbou parametrů θ i měníme natočení v jednotlivých kloubech a [P 0 Q] B0 pak určuje souřadnice vektoru mezi patou systému a chapadlem v bázi paty systému, kterou jsme zvolili jako referenční.

ALGEBRY ROTACÍ A JEJICH APLIKACE 53 4. Algebra kvaternionů H Nejprve připomeňme, že komplexními čísly C rozumíme dvojice reálných čísel (a, b) R 2 spolu se dvěma binárními operacemi (a, b) + (c, d) = (a + c, b + d), (a, b) (c, d) = (ac bd, ad + bc). Je lehké ověřit, že takto definovaná komplexní čísla tvoří komutativní těleso. Komutativním tělesem přitom rozumíme množinu vybavenou dvěma binárními operacemi (M, +, ) takovou, že dvojice (M, +) tvoří komutativní grupu s nulovým prvkem 0, dvojice (M {0}, ) tvoří také komutativní grupu a operace + a jsou navzájem distributivní. Poznamenejme, že pro prvek (a, b) C, (a, b) (0, 0), dostaneme inverzi ve tvaru (a, b) 1 1 = a 2 (a, b). + b2 Souvislost s klasickým zápisem a + bi := (a, b) se lehce ověří výpočtem i 2 = (0, 1) (0, 1) = ( 1, 0) = 1 a není těžké následně dokázat, že definice komplexních čísel jako rozšíření tělesa reálných čísel o prvek i, kde i 2 = 1 (tj. C = R[i] = {a + bi a, b R}), je naší definici ekvivalentní. Geometricky můžeme komplexní číslo z = (a, b) C realizovat jako vektor v R 2. Každý vektor z = (a, b) R 2 můžeme charakterizovat jeho normou z a úhlem θ, který svírá vektor (a, b) s osou x, přičemž platí (a, b) = z (cos θ, sin θ). Díváme li se na R 2 jako na komplexní čísla C, tak pokud násobíme vektor (x, y) = x + iy jednotkovým vektorem cos θ + i sin θ dostaneme vektor (x cos θ y sin θ, x sin θ +y cos θ) a matice příslušného lineárního zobrazení na R 2 ve standardní bázi je tedy ( ) cos θ sin θ R θ =. sin θ cos θ Díváme se tedy na R 2 jako na komplexní čísla C pak rotace kolem počátku o úhel θ můžeme reprezentovat jako násobení jednotkovým komplexním číslem cos θ + i sin θ a z goniometrických vzorců lehce dokážeme, že tvoří grupu, tj. zejména platí S 1 = {cos θ + i sin θ θ 0, 2π)} (cos θ 1 + i sin θ 1 )(cos θ 2 + i sin θ 2 ) = cos(θ 1 + θ 2 ) + i sin(θ 1 + θ 2 ). Množina rotací je tedy izomorfní právě jednotkovým komplexním číslům S 1 = {z, kde z = 1}.

54 JAROSLAV HRDINA Označíme li 1 := ( ) 1 0, i := 0 1 ( ) 0 1, dostaneme opět příslušné identity 1 0 1 2 = 1, 1 i = i 1 = i, i 2 = 1. Prvky grupy S 1 můžeme reprezentovat maticově ( ) ( ) 1 0 0 1 R θ = cos θ + sin θ 0 1 1 0 a dostaneme tak alternativní popis S 1 maticově ( ) a b = a + bi. b a Poznamenejme, že v maticové reprezentaci je druhá mocnina velikosti komplexního čísla a+bi 2 = a 2 +b 2 rovna determinantu příslušné matice. Dále, z vlastností pro determinant AB = A B dostaneme pro čtveřice reálných čísel zajímavý vztah (a 2 1 + b 2 1)(a 2 2 + b 2 2) = (a 1 a 2 + b 1 b 2 ) 2 + (a 1 b 2 + a 2 b 1 ) 2. Historicky se problém nalezení čísel x, y pro a 1, b 1, a 2, b 2 takových, že (a 2 1 + b 2 1)(a 2 2 + b 2 2) = x 2 + y 2, který je ekvivalentní nalezení takového pravoúhlého trojúhelníku jehož odvěsna je součin odvěsen dvou zvolených pravoúhlých trojúhelníků objevuje už před 2000 lety v díle řeckého matematika Diophanta. Nyní prodiskutujeme geometrické vlastnosti kvaternionů a jejich využití pro popis sférického pohybu. Nejprve připomeňme, že kvaterniony rozumíme čtveřice reálných čísel (a, b, c, d) R 4 spolu se dvěma binárními operacemi (a 1, b 1, c 1, d 1 ) + (a 2, b 2, c 2, d 2 ) = (a 1 + a 2, b 1 + b 2, c 1 + c 2, d 1 + d 2 ), (a 1, b 1, c 1, d 1 ) (a 2, b 2, c 2, d 2 ) = (a 1 a 2 b 1 b 2 c 1 c 2 d 1 d 2, a 1 b 2 + b 1 a 2 + c 1 d 2 d 2 c 2, a 1 c 2 + c 1 a 2 b 1 d 2 + d 1 b 2, a 1 d 2 + d 1 a 2 + b 1 c 2 c 1 b 2 ). Je lehké ověřit, že takto definované kvaterniony tvoří nekumtativní těleso. Poznamenejme jen, že pro prvek (a, b, c, d) H dostaneme inverzi ve tvaru (a, b, c, d) 1 = (a, b, c, d) a 2 + b 2 + c 2 + d 2, souvislost s klasickým zápisem a+bi+cj +dk := (a, b, c, d) se lehce ověří výpočtem i 2 = (0, 1, 0, 0) (0, 1, 0, 0) = ( 1, 0, 0, 0) = 1, j 2 = (0, 0, 1, 0) (0, 0, 1, 0) = ( 1, 0, 0, 0) = 1, k 2 = (0, 0, 0, 1) (0, 0, 0, 1) = ( 1, 0, 0, 0) = 1, ij = (0, 1, 0, 0) (0, 0, 1, 0) = (0, 0, 0, 1) = k, ji = (0, 0, 1, 0) (0, 1, 0, 0) = (0, 0, 0, 1) = k, a není těžké následně dokázat, že definice kvaternionů jako rozšíření tělesa reálných čísel o prvky i, j, k, kde i 2 = j = k = 1 a ij = ji = k (tj. H = R[i, j, k]) je s naší

ALGEBRY ROTACÍ A JEJICH APLIKACE 55 definici ekvivalentní. Stejně jako komplexní čísla můžeme analogicky reprezentovat kvaterniony H, ale tentokrát komplexními maticemi: ( ) ( ) a + id b ic α β q = =, b ic a id β ᾱ kde α = a + id a β = b + ic. Při tomto popisu je determinant příslušné matice opět roven druhé mocnině velikosti kvaternionu, tj číslu a 2 + b 2 + c 2 + d 2. Ve vhodné bázi můžeme opět libovolný kvaternion vyjádřit jako q = a1 + bi + cj + dk, 1 = ( 1 0 0 1 a dostat klasické vztahy ), i = ( 0 1 1 0 ), j = ( 0 i i 0 i 2 = j 2 = k 2 = 1, ij = k. ), k = ( i 0 0 i Pokud do komplexních matic pro 1 a i dosadíme jejich maticové reprezentace, dostaneme reprezentaci kvaternionů pomocí reálných matic 4 4: 1 0 0 0 0 0 1 0 1 = 0 1 0 0 0 0 1 0, i = 0 0 0 1 1 0 0 0, 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 j = 0 0 1 0 0 1 0 0, k = 1 0 0 0 0 0 0 1, 1 0 0 0 0 0 1 0 a opět z vlastností determinantů plyne vztah ), (a 2 1 + b 2 1 + c 2 1 + d 2 1)(a 2 2 + b 2 2 + c 2 2 + d 2 2) = (a 1 a 2 b 1 b 2 c 1 c 2 d 1 d 2 ) 2 + + (a 1 b 2 + b 1 a 2 + c 1 d 2 d 1 c 2 ) 2 + + (a 1 c 2 b 1 d 2 + c 1 a 2 + d 1 b 2 ) 2 + + (a 1 d 2 b 1 c 2 c 1 b 2 + d 1 a 2 ) 2. Poznamenejme, že ryze imaginární kvaterniony ImH = Ri + Rj + Rk tvoří ortogonální komplement k R1, že součet dvou ryze imaginárních kvaternionů je opět ryze imaginární kvaternion, ale že součin dvou čistě imaginárních kvaternionů nemusí být vždy imaginární. Pří rozepsání součinu pro libovolné dva imaginární kvaterniony uv = (u 2 v 2 + u 3 v 3 + u 4 v 4 ) + (u 3 v 4 u 4 v 3 )i + (u 2 v 4 u 4 v 2 )j + (u 2 v 3 u 3 v 2 )k je zřejmé, že součin uv je ryze imaginární kvaternion, pokud vektory (u 2, u 3, u 4 ), (v 2, v 3, v 4 ) jsou ortogonální a ryze reálný pokud jsou rovnoběžné, zejména u 1 u = u 2 = u 2 Analogicky jako u komplexních čísel, kde sféra jednotkových komplexních čísel S 1 reprezentovala rotace kolem počátku, sféra jednotkových kvaternionů S 3 = {z H : z = 1}

56 JAROSLAV HRDINA reprezentuje rotace R 3 kolem zvolené osy. Abychom mohli použít kvaterniony pro popis rotace v R 3, zavedeme operaci konjugace q 1 tq. Prvky R 3 reprezentujeme jako ryze imaginární kvaterniony Ri + Rj + Rk následovně (x 1, x 2, x 3 ) x 1 i + x 2 j + x 3 k. Nyní definujeme množinu kvaternionů, kterým říkáme rotory, jako kvaterniony tvaru q = cos θ 2 + u sin θ 2, (4.1) kde u je jednotkový ryze imaginární kvaternion tvaru Ri + Rj + Rk. Následující výpočet ukazuje, že pro každý rotor q platí q = 1: q 2 = q 1 q = (cos θ 2 u sin θ 2 )(cos θ 2 + u sin θ 2 ) = (cos2 θ 2 u2 sin 2 θ 2 ) = 1, protože u je ryze imaginární kvaternion a tedy u 2 = u 1 u = u 2 = 1. Lze ukázat, že každý kvaternion s normou jedna jde napsat ve tvaru (4.1). Rotory jsou uzavřené na násobení, protože q 1 q 2 2 = (q 1 q 2 ) 1 (q 1 q 2 ) = (q 2 ) 1 (q 1 ) 1 q 1 q 2 = (q 2 ) 1 q 2 = 1 a množina rotorů tedy tvoří grupu. Podstatné je, že konjugování pomocí rotoru q reprezentuje rotaci kolem osy u o úhel θ. Důkaz tohoto tvrzení můžeme najít například v [6]. Demonstrujeme, že zmíněný postup funguje pro konkrétně zvolené parametry. Pokud bychom chtěli realizovat rotaci kolem osy z o úhel θ, zvolíme vektor a rotor příslušný zvolené rotaci je u = 0i + 0j + 1k q = cos θ 2 + k sin θ 2. V následujícím výpočtu provedeme konjugování q 1 tq, kde t = xi + yj + zk je obecný vektor v R 3 : q 1 tq = (cos θ 2 k sin θ 2 )(xi + yj + zk)(cos θ 2 + k sin θ 2 ) = xi cos 2 θ 2 + yj cos2 θ 2 + zk cos2 θ 2 xj cos θ 2 sin θ 2 + yi cos θ 2 sin θ 2 + z cos θ 2 sin θ 2 xj cos θ 2 sin θ 2 + iy cos θ 2 sin θ 2 z cos θ 2 sin θ 2 ix θ sin2 2 yj sin 2 θ 2 + kz θ sin2 2 = i(x cos 2 θ 2 + 2y sin θ 2 cos θ 2 x θ sin2 2 ) + j(y cos 2 θ 2 2x sin θ 2 cos θ 2 y sin2 θ 2 ) + k(z cos 2 θ 2 + z sin2 θ 2 )

ALGEBRY ROTACÍ A JEJICH APLIKACE 57 = i(x cos θ + y sin θ) + j(y cos θ x sin θ) + kz. Poznamenejme, že v poslední rovnici jsme využili dvojici goniometrických identit: Výsledný tvar transformace sin(2θ) = 2 sin θ cos θ, cos(2θ) = cos 2 θ sin 2 θ. q 1 tq = i(x cos θ + y sin θ) + j(y cos θ x sin θ) + kz při identifikaci Im H = R 3 odpovídá lineární transformaci, kterou můžeme maticově zapsat jako cos θ sin θ 0 sin θ cos θ 0, 0 0 1 a tedy rotaci kolem osy z o úhel θ. Cylindrický pohyb, tedy pohyb podle už pevně zvolené osy u, můžeme realizovat konjugováním rotory q = cos θ 2 + u sin θ 2, kde θ 0, 2π. Klasické posunutí realizujeme jednoduše jako přičtení prvku z Im H. Sférický pohyb můžeme realizovat metodou Eulerových úhlů, kterou v našem kontextu dostaneme konjugováním dvojicí rotorů q2 1 q 1 1 xq 1q 2, kde q 1 = cos θ 1 2 + i sin θ 1 2, q 2 = cos θ 2 2 + j sin θ 2 2. 5. Grupa SU(2) Další možností, jak realizovat rotace, je pomocí grupy SU(2), tento přístup je motivován fyzikou částic a je technicky náročnější. Vynucuje definování několika dalších pojmů. Relací na množině M rozumíme podmnožinu kartézského součinu R M M. Jako příklad můžeme na R definovat relaci R = {(a, b) a, b R, a < b}, která je formálním ekvivalentem klasické relace ostře menší <. Relaci označujeme reflexivní, pokud a M : (a, a) R symetrická, pokud a tranzitivní, pokud a, b M : (a, b) R (b, a) R a, b, c M : (a, b), (b, c) R (a, c) R. Relace ostře menší není reflexivní ani symetrická a je pouze tranzitivní. Relace, která je současně reflexivní, symetrická a tranzitivní, se nazývá relací ekvivalence. Relací ekvivalence je například relace rovnosti =. Pro další úvahy budeme realizovat relaci R graficky. Body množiny M znázorníme jako body v rovině. Pokud

58 JAROSLAV HRDINA pro a, b M platí (a, b) R, nakreslíme šipku z bodu a do bodu b. Například na množině M = {a, b, c, d, e, f, g, h, l, m} definujeme relaci R = {(a, b), (a, c), (c, d), (f, g), (g, h), (m, e), (l, l)}, kterou můžeme graficky znázornit jako orientovaný graf: a b f g c d h l Tato relace není relací ekvivalence, protože není reflexivní. Jediný prvek, který je v relaci sám se sebou, je prvek l. Není ani symetrická, protože obsahuje jednostranné šipky a není ani tranzitivní. Aby byla relace reflexivní, musí být smyčka na každém prvku. Aby byla relace symetrická, musí platit, že pokud vede šipka jedním směrem, musí vést i opačně. Symetrická a reflexivní relace odpovídá pak obrázku: e m a b f g e c d h l m Tato relace není tranzitivní, protože například (a, c), (c, d) R ale (a, d) / R. Relace ekvivalence odpovídá následujícímu obrázku a b f g e c d h l m Z obrázků je vidět, že relace ekvivalence určuje na množině M rozklad na podmnožiny, kterým říkáme třídy relace a které mají tu vlastnost, že prvky třídy jsou v relaci každý s každým. Současně nejsou v relaci žádné dva prvky z různé třídy. Pomocí relace ekvivalence můžeme definovat například prostor všech přímek v rovině následovně: Vezmeme množinu R 2 na které definujeme relaci ((x 1, y 1 ), (x 2, y 2 )) R R 2 R 2 λ R, λ 0 : (x 1, y 1 ) = (λx 2, λy 2 ). Třídy relace jsou pak přímky v R 2. Pokud předpokládáme, že y 0, můžeme najít v každé třídě prvek ( x y, 1) a existuje tedy jedno jednoznačná korespondence mezi třídami, pro které platí y 0 a R. Zbývá jedna třída (x, 0), kterou označujeme jako nekonečno. Na obrázku 5. vidíme geometrický význam takto definovaného prostoru, kterému říkáme projektivní prostor PR 1, každá přímka s nenulovou směrnicí procházející počátkem má průnik s přímkou y = 1 právě v jednom bodě a přímka y = 0 hraje roli bodu v nekonečnu. Projektivní prostor PC 1 definujeme stejným způsobem, jen pro dvojice komplexních čísel.

ALGEBRY ROTACÍ A JEJICH APLIKACE 59 y y=1 x (y=0) Obrázek 3. Projektivní prostor R 1. Definice 5.1. Mějme na C 2 definovanou relaci ((x 1, y 1 ), (x 2, y 2 )) R C 2 C 2 λ C, (x 1, y 1 ) = λ(x 2, y 2 ), kde λ R. Pak třídy relace tvoří projektivní prostor PC 1. [(x, y)] R = {λ(x, y) λ C} Prvky projektivního prostor PC 1 takové, že y 0, jsou izomorfní komplexním číslům C: {(x, y) y 0} = C a třídu pro y = 0 pak označujeme jako nekonečno: := {(x, y) y = 0}. Geometricky můžeme C 2 realizovat jako R 4 a prvky PC 1 jsou pak roviny R 2 procházející počátkem zachovávající lineární transformace indukované komplexní strukturou. Při konstrukci grupy SU(2) budeme postupovat tak, že definujeme kruhovou inverzi jako speciální zobrazení ze sféry S 2 do C. Prvek z SO(3) reprezentuje rotaci v R 3, zachovává tedy skalární součin a tedy i normu. Musí tedy zachovávat i sféru S 2. Rotace kolem jednotlivých os pak po kruhové inverzi indukují nějaké zobrazení v C. Toto zobrazení nebude lineární, ale my si ho budeme reprezentovat lineárním zobrazením PC 1 PC 1 na projektivním rozšíření. Všechny pojmy postupně vysvětlíme. Kruhová inverze je zobrazení znázorněné na Obrázku 4. Bod [x, y, z] ze sféry S 3 se zobrazí na bod a + bi z C tak, že a + bi je průnikem přímky určené severním pólem S a bodem [x, y, z] s rovinou z = 0. Vidíme, že takové zobrazení je dáno jednoznačně a je definováno na všech bodech kromě severního pólu S. Rozepíšeme teď postupně rotace. Nejjednodušší případ je rotace kolem osy z, v tomto případě je indukovaná rotace na C středovou rotací a taková je

60 JAROSLAV HRDINA z S [x,y,z] 0 Im Re a+bi Obrázek 4. Kruhová inverze. realizována násobením jednotkovým komplexním číslem, tj. cos ϕ sin ϕ 0 x sin ϕ cos ϕ 0 y (cos ϕ + i sin ϕ)(a + bi) = e iϕ (a + bi). 0 0 1 z Body C odpovídají bodům v projektivním prostoru P 1 C tak, že bodu z C odpovídá třída ekvivalence [(z 1, z 2 )] C 2 /, kde relace ekvivalence je definována takto (z 1, z 2 ) (z 3, z 4 ) k C, k 0 : (z 1, z 2 ) = k(z 3, z 4 ). Hledaná matice s jednotkovým determinantem je pak následující ( ) ( ) e i ϕ 2 0 e i ϕ 2 0 0 e i ϕ, det 2 0 e i ϕ = e i ϕ 2 e i ϕ 2 = 1, 2 ( ) ( ) ( ) ( ) e i ϕ 2 0 z1 e i ϕ e 2 z i ϕ 2 0 e i ϕ = 1 z 2 z 2 e i ϕ e 2 z i ϕ 1 2 z 2 2 1 ( e iϕ z 1 ) ( ) z 2 e iϕ z1. 1 z 2 Rotaci kolem osy y o úhel β můžeme realizovat pomocí tří rotací. Rotací kolem osy x o úhel π 2, rotací kolem osy z o úhel β a nakonec rotací kolem osy x o úhel π 2. Potřebujeme tedy nalézt matici transformace kolem osy x o úhel ± π 2. Taková rotace zobrazuje v R 3 následující prvky: (0, 0, 1) (0, 1, 0) (0, 0, 1) (1, 0, 0) (0, 0, 1), což po stereografické projekci indukuje zobrazeni na C 0 i i 0,

ALGEBRY ROTACÍ A JEJICH APLIKACE 61 které můžeme realizovat pomoci Möbiovy transformace w(z) = i z + i z i, která není lineární, ale Möbiovu transformaci můžeme v P 1 C realizovat maticí ( ) 1 1 i. 2 i 1 Celkově tedy dostaneme ( ) ( ) ( ) 1 1 i e i ϕ 2 0 1 1 i 2 i 1 0 e i ϕ 2 = 2 i 1 Rotace kolem osy y o úhel π 2 indukuje na C transformaci 1 0 1, kterou můžeme na PC 1 realizovat maticí ( ) 1 1 1 2 1 1 ( cos β 2 sin β ) 2 sin β 2 cos β. 2 a výsledná matice rotace o úhel α kolem osy x je pak dána kompozicí ( ) ( ) ( ) ( ) 1 1 1 e i α 2 0 1 1 1 cos α 2 1 1 0 e i α 2 = 2 i sin α 2 2 1 1 i sin α 2 cos α. 2 Dostáváme tedy matice, jejichž složením dostaneme transformace prostoru PC 1 odpovídající rotacím R 3 patřícím do SO(3) ( ) ( e i α 2 0 cos β 0 e i α, 2 sin β ) ( ) 2 cos α 2 cos β 2 sin β, 2 i sin α 2 cos α 2 2 i sin α. 2 Protože výsledné atice rotace leží v SL(2, C), mají tvar ( ) a b, b ā a protože det(a) = 1, musí tedy a = a 1 + ia 2, b = b 1 + ib 2 ležet na 3-dimenzionální sféře a 2 + b 2 = a 2 1 + a 2 2 + b 2 1 + b 2 2 = 1. Tyto matice opět tvoří grupu, která se označuje SU(2) a nazývá se speciální unitární a je izomorfní grupě rotorů. Reference [1] P. Horník: Teorie Lieových grup v robotice, Brno, 2012. Bakalářská práce. Vysoké učení technické v Brně, Fakulta strojního inženýrství, Ústav matematiky. [2] J. Hrdina: Některé kinematické dvojice, Kvaternion, Vol 1., No 1., VUT v Brně (2012) [3] A. Karger, J. Novák: Prostorová kinematika a Lieovy grupy, Státní nakladatelství technické literatury, (1978) [4] J. B. Kuipers: Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual, Princeton University Press, 2002. [5] J. M. Selig: Geometric Fundamentals of Robotics, Monographs in Computer Science, Springer, 2004. [6] John Stillwell: Naive Lie Theory, Undergraduate Texts in Mathematics, Springer, 2008.

62 JAROSLAV HRDINA [7] M. Pivovarník: Matematické principy robotiky, Diplomová práce, ÚM FSI VUT v Brně, Brno, 2012. [8] M. Pivovarník: Geometrické algoritmy v robotice, Bakalářská práce, ÚM FSI VUT v Brně, Brno, 2010. [9] L. Motl, M. Zahradník: Pěstujeme lineární algebru, Karolinum, Praha, 1995. Jaroslav Hrdina, Ústav matematiky, Fakulta strojního inženýrství, Vysoké učení technické v Brně, Technická 2896/2, 616 69 Brno, e-mail: hrdina@fme.vutbr.cz

Kvaternion 2/2014, 63 78 63 ALGEBRAICKÉ A ČÍSELNĚ TEORETICKÉ POZADÍ ELIPTICKÉ KRYPTOGRAFIE S VYBRANÝMI ALGORITMY, ZEJMÉNA PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY MIROSLAV KUREŠ Abstrakt. Článek přináší především přehled vybraných výsledků z algebry (a částečně i z teorie čísel), které jsou nezbytné pro studium eliptických křivek nad konečnými poli. Motivací pro takové studium je kryptografie založená na eliptických křivkách (stručněji eliptická kryptografie nebo jen ECC), která se v posledních letech bouřlivě rozvíjí. Obsah článku vychází z autorových přednášek na Semináři z aplikované geometrie Ústavu matematiky FSI VUT v Brně v prvním pololetí roku 2007, které pak byly dále upraveny a znovu předneseny studentům navštěvující nepovinný předmět Aplikovaná algebra pro inženýry (opět na FSI VUT v Brně). Článek obsahuje i vybrané algoritmy, zejména pro určení řádu eliptické křivky. Úvod Základními pojmy teorie eliptických křivek a jejich aplikací v kryptografii s veřejným klíčem se zabýval již autorův článek [2]; proto je zde připomeneme jen stručně. Eliptickou křivkou E nad polem F rozumíme algebraickou křivku třetího stupně s rovnicí y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6, kde a 1, a 2, a 3, a 4, a 6 F a kde tzv. diskriminant eliptické křivky E je nenulový. Přitom = d 2 2d 8 8d 3 4 27d 2 6 + 9d 2 d 4 d 6, kde d 2 = a 2 1 + 4a 2, d 4 = 2a 4 + a 1 a 3, d 6 = a 2 3 + 4a 6, d 8 = a 2 1a 6 + 4a 2 a 6 a 1 a 3 a 4 + a 2 a 2 3 + a 2 4. Je-li F q = F p n (p prvočíslo, n N konečné pole s charakteristikou různou od 2 a 3), pak vhodnou změnou souřadnic lze Weierstrassovu rovnici transformovat na rovnici y 2 = x 3 + ax + b, podobných zjednodušení lze dosáhnout i pro charakteristiky 2 a 3. Bodem eliptické křivky E rozumíme každý bod [x, y] se souřadnicemi x, y F splňujícími její rovnici a dále bod. Nad body eliptické křivky (nadále již bereme E) lze zavést binární operaci značenou + (podrobněji v [2]), s touto operací pak křivka tvoří grupu. Řádem eliptické křivky E pak rozumíme řád této grupy čili počet bodů E; značíme ho #E. Je-li E eliptická křivka nad konečným polem F q, pro její řád #E(F q ) platí q +1 2 q #E(F q ) q +1+2 q, tzn. řád je prvkem intervalu zvaného Hasseho interval. Řád bodu P eliptické křivky pak je obvyklý řád prvku z teorie grup čili nejmenší n N takové, že np =. Budeme ho značit P. U čtenáře předpokládáme jen znalosti základů teorie grup (opakovaně mj. využíváme Lagrangeův teorém, tedy že řád prvku dělí řád grupy). Uvádíme zde tedy 2010 MSC. Primární 94A60, 11T71; Sekundární 14H52. Klíčová slova. Kryptografie založená na eliptických křivkách, algoritmy pro určení řádu eliptické křivky.

64 M. KUREŠ i některé dobře známé výsledky, jako Malou Fermatovu větu a Čínskou zbytkovou věty v kontextu, v jakém je potřebujeme. Článku je ponechána původní struktura přednášky s členěním na číslované odstavce. Text je doplněn řadou ilustrativních příkladů. 1. Vybraná tvrzení z algebry a teorie čísel z pohledu ECC 1 Pokud jde o generování náhodného bodu eliptické křivky E, můžeme vzít náhodný prvek F q, dosadit ho za x nebo za y a druhou souřadnici dopočítat z rovnice eliptické křivky. 1 Pokud neexistuje řešení pro druhou souřadnici, vezmeme jiný prvek F q. Toto se pokusíme zefektivnit (pro prvočíselná pole), a to i s ohledem na nalezení řádu E. 2 Je-li n N a existuje-li pro 0 m < n řešení rovnice y 2 m ( mod n) (pro neznámou y), řekneme, že m je kvadratickým reziduem (modulo n). Pro eliptickou křivku E(F p ) s rovnicí y 2 = x 3 + ax + b musí pro každou nenulovou x-ovou souřadnici jejího bodu být výraz x 3 + ax + b kvadratickým reziduem (modulo p). 3 Kvadratická rezidua se pro přirozená n tabelují. Uvádíme přehled kvadratických reziduí modulo n = 2,..., 20 (a zvýrazňujeme prvočísla): n = 2 : 1 n = 3 : 1 n = 4 : 1 n = 5 : 1, 4 n = 6 : 1, 3, 4 n = 7 : 1, 2, 4 n = 8 : 1, 4 n = 9 : 1, 4, 7 n = 10 : 1, 4, 5, 6, 9 n = 11 : 1, 3, 4, 5, 9 n = 12 : 1, 4, 9 n = 13 : 1, 3, 4, 9, 10, 12 n = 14 : 1, 2, 4, 7, 8, 9, 11 n = 15 : 1, 4, 6, 9, 10 n = 16 : 1, 4, 9 n = 17 : 1, 2, 4, 8, 9, 13, 15, 16 n = 18 : 1, 4, 7, 9, 10, 13, 16 1 pochopitelně je výhodnější dosazování za x, neboť dosazení za y vede na kubickou rovnici

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 65 n = 19 : 1, 4, 5, 6, 7, 9, 11, 16, 17 n = 20 : 1, 4, 5, 9, 16 a dále máme např. n = 2357 : 1, 4, 6, 9,... 2346, 2347, 2348, 2351, 2353, 2356 (celkem 1178 reziduí můžeme najít např. pomocí [3]). 4 Je-li m kvadratickým reziduem, pak vyhovující y, pro něž nazýváme odmocninou m (modulo n). y 2 m ( mod n), 5 Pro eliptickou křivku E(F p ) s rovnicí y 2 = x 3 + ax + b náhodně vybereme x a ověříme, zda x 3 + ax + b je kvadratickým reziduem. 2 Pokud ano, spočteme y jako odmocninu x 3 +ax+b. Najdeme-li vyhovující y, je také y odmocninou x 3 +ax+b. (Pro p > 2 a pro y 0 je y prvek různý od y.) Dále, předpokládejme, že také z je odmocninou x 3 + ax + b. To znamená z čehož y 2 z 2 ( mod p), y 2 z 2 = (y + z)(y z) 0 ( mod p) a vidíme, že z = y nebo z = y. Z uvedeného plyne, že je-li x 3 + ax + b kvadratickým reziduem a y jeho odmocninou, je jedinou další odmocninou téhož rezidua y. 6 Pro p > 2 dávají nenulové prvky y a y totéž kvadratické reziduum y 2 (a žádný jiný prvek již toto reziduum nedává). Takových dvojic (y, y) v F p ovšem je p 1 2, tedy také počet kvadratických reziduí v F p je roven p 1 2. Při náhodné volbě prvku F p máme tedy téměř padesátiprocentní pravděpodobnost, že jde o kvadratické reziduum. 7 Eulerovo kritérium. Pro prvočíselné pole s p > 2 platí: m je nenulovým kvadratickým reziduem (modulo p) právě tehdy, když m p 1 2 1 ( mod p) a m je kvadratickým nereziduem 3 (modulo p) právě tehdy, když (Důkaz bude později.) m p 1 2 1 ( mod p). 2 ovšem totéž kvadratické reziduum může vyjít pro různá x, některá kvadratická rezidua nemusíme obdržet a také x 3 +ax+b kvadratickým reziduem být nemusí proto z počtu kvadratických reziduí řád eliptické křivky jednoduše odhadnout nelze 3 tzn. je nenulové a není kvadratickým reziduem

66 M. KUREŠ 8 Nyní z Eulerova kritéria plyne, že součin dvou kvadratických reziduí je kvadratické reziduum, součin dvou nereziduí je reziduum, avšak součin rezidua a nerezidua je nereziduum. 9 Legendrův symbol ( ) m n se zavede následovně: ( m ) 1 je-li m kvadratickým reziduem (modulo n), = 0 je-li m nula (modulo n), n 1 je-li m kvadratickým nereziduem (modulo n). Potom řád eliptické křivky pomocí t a Legendrova symbolu vyjádříme takto: t = ( x 3 ) + ax + b. p x F p Přímé užití tohoto vztahu se někdy nazývá naivní algoritmus pro určení řádu eliptické křivky. 10 Malá Fermatova věta. Pro libovolné 0 y F p platí y p 1 1 ( mod p). Důkaz. F p {0} spolu s operací násobení tvoří grupu. Tato grupa má p 1 prvků čili řád p 1. Ovšem řád prvku m dělí řád grupy; tedy existuje k N takové, že y k 1 ( mod p), k p 1. Pak ovšem také y p 1 1 ( mod p). 11 Wilsonova věta. V F p platí (p 1)! 1 ( mod p). Důkaz. Nejdříve zjistíme, která y F p splňují y 2 1 ( mod p). Převedeme-li jedničku na levou stranu a provedeme-li rozklad rozdílu čtverců, máme (y + 1)(y 1) 0 ( mod p) a z toho máme y = 1 nebo y = 1 p 1. Tedy 1 a p 1 jsou jediné dva prvky rovné své multiplikativní inverzi. Všechny ostatní prvky sdružíme do dvojic tak, aby v dvojici byly právě k sobě inverzní prvky (pro násobení). Těchto dvojic je p 3 2 a součin každé z nich je 1. Stačí tedy přeměnit pořadí činitelů v (p 1)! takto (p 1)! = (p 1) 1 (součin první dvojice) (součin p 3 -té dvojice), }{{}} 2 {{} 1 1 abychom viděli, že 4 (p 1)! p 1 1 ( mod p). 4 například pro F7 máme 6! = 6 5 4 3 2 1 = 6 1 (2 4) (3 5) = 6 1 1 1 = 6 1 (mod 7)

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 67 12 Důkaz Eulerova kritéria. Především si uvědomme, že pro dané m F p existuje pro každé 0 y F p takové z F p, že yz m ( mod p). (Skutečně, z = y 1 m.) Předpokládejme nejprve, že m není kvadratickým reziduem, tedy rovnice y 2 m ( mod p) nemá řešení pro žádné y F p. To znamená, že všech p 1 prvků F p je sdruženo do dvojic a součin každé takové dvojice je roven m. Současně součin všech součinů těchto p 1 2 dvojic je roven (p 1)!, tzn. (p 1)! = m p 1 2 a levá strana je rovna 1 (modulo p) podle Wilsonovy věty. Je-li m kvadratickým reziduem, pak m = y 2 pro nějaké y F p, máme potom m p 1 2 = (y 2 ) p 1 2 = y p 1 a tento výraz je roven 1 (modulo p) podle Malé Fermatovy věty. 13 Výpočet odmocniny v F q = F p n, p > 2, provedeme pomocí tzv. Smartova algoritmu 5. Vstup: Kvadratické reziduum x F q. 1. krok: Vyjádříme q 1 2 ve tvaru q 1 = 2 T s, 2 kde T je nezáporné celé číslo a s je liché přirozené číslo. 2. krok: Vezmeme libovolné kvadratické nereziduum y F q a spočteme A = y s. 3. krok: Spočteme B = x s 1 2 a položíme t 0 = 0, k = 0. 4. krok: Nyní pro k = 0,..., T 1 počítáme kde t k+1 = t k + 2 k C k, 0 jestliže ( (A t k B) 2 x ) 2 T 1 k = 1, C k = 1 jestliže ( (A t k B) 2 x ) 2 T 1 k = 1. 5. krok: Položíme x = (A t T B)x. Výstup: Odmocnina x F q. (Poznamenejme, že čísla s, T a A mohou být připravena již při inicializaci pole F q.) 14 Příklad. V prvočíselném poli F 2357 je x = 525 kvadratickým reziduem a y = 2 nereziduem. (Dále počítáme samozřejmě modulo 2357). Pak q 1 2357 1 2 = p 1 2 = 2 = 1178 = 2 1 589. Máme s = 589, T = 1 a A = 2 589 = 633. Spočteme B = 525 589 1 2 = 525 294 = 1828. Nyní t 0 = 0 a protože (633 0 1828) 2 525) 21 1 0 = 1, 5 efektivnější algoritmus než Smartův je anoncován např. v [6]

68 M. KUREŠ což je kvadratické reziduum, máme C 0 = 0. Odtud t 1 = 0. V závěrečném kroku vypočteme x = 6330 1828 525 = 401. Dalším řešením je 401 = 1956. 2. Řád eliptických křivek nad prvočíselnými poli 15 Známe-li některé body na křivce a jejich řády, může to postačit k určení řádu křivky. Najdeme-li totiž nejmenší společný násobek L řádů jednotlivých bodů, je řád křivky určitě jeho násobkem. Podaří-li se, aby pouze jediný násobek L ležel v Hasseho intervalu, je řád křivky nalezen. (Musíme ovšem mít efektivní metodu pro zjištění řádu bodu.) 16 Uvedeme Shanksův algoritmus, který vychází z 15 a řeší problém hledání řádu bodů eliptické křivky. Vstup: L = q + 1 2 q, H = q + 1 + 2 q, d = H L. 1. krok: Náhodně vybereme bod P (F q ). 2. krok: Spočteme P, 2P,..., (d 1)P. Je-li ip = pro nějaké i d, jdeme na 1. krok. Jinak vytvoříme posloupnost BS = {, P, 2P,..., (d 1)P }. (Prohledali jsme několik nejmenších násobků bodu P, udělali jsme tzv. baby step.) 3. krok: Položíme Q = dp a počítáme H j = LP + jq pro j = 1, 2,..., d. Z bodů H j vytvoříme posloupnost HS. (Nyní hledáme velké násobky bodu P s krokem d, to je tzv. giant step.) 4. krok: Je-li jediné H j prvkem BS 6, vezmeme odpovídající dvojici indexů 7 i, j, položíme #E(F q ) = L + jd i a jdeme na Výstup. Je-li více (řekněme M) prvků HS prvkem BS, uspořádáme dvojice indexů (i k, j k ), k = 1,..., M tak, aby j 1 > > j M ; potom vezmeme dvojici (i 1, j 1 ), (i 2, j 2 ) a položíme P = (j 1 j 2 )d (i 1 i 2 ). 5. krok: Je-li P < q 1, jdeme zpět na 1. krok. 6. krok: Náhodně vybereme bod R E(F q ). 7. krok: Opakujeme 2. krok, 3. krok a 4. krok (pro bod R), spočte-li se #E(F q ), jdeme na Výstup, jinak jdeme na 8. krok. 8. krok: Stejně jako ve 4. kroku pro bod P, určíme nyní řád R. Dále určíme nejmenšího dělitele s řádu R tak, že sr je násobkem P. Je-li s P < 4 q, jdeme zpět na 5. krok. 9. krok: Určíme n takové, že ns P leží v Hasseho intervalu 8. Položíme #E(F q ) = ns P. Výstup: #E(F q ). 17 Příklad. Pro prvočíselné pole F 2357 uvažujme eliptickou křivku E : y 2 = x 3 + 2006x + 1. 6 alespoň jedno Hj prvkem BS být musí, plyne to z Lagrangeova teorému: povšimněme si totiž, že pomocí BS a HS efektivně hledáme, jaký násobek bodu P je roven 7 v BS je index i = 0, 1,..., d 1, v HS index j = 1, 2,..., d 8 takové n je jediné