Algoritmus BKM - BKM algorithm
BKM algoritmus je shift-and-add algoritmus pro výpočet elementárních funkcí , nejprve publikoval v roce 1994 Jean-Claude Bajard, Sylvanus KLA, a Jean-Michel Muller. BKM je založen na výpočtu komplexních logaritmů ( režim L ) a exponenciálů ( režim E ) pomocí metody podobné algoritmu, který Henry Briggs používá k výpočtu logaritmů. Pomocí předpočítané tabulky logaritmů záporných mocnin dvou vypočítá algoritmus BKM elementární funkce pomocí pouze celočíselných operací sčítání, posouvání a porovnávání.
BKM je podobný CORDIC , ale používá spíše tabulku logaritmů než tabulku arktangentů . Při každé iteraci je výběr koeficientu proveden ze sady devíti komplexních čísel, 1, 0, −1, i, −i, 1+i, 1 − i, −1+i, −1 − i, spíše než pouze −1 nebo +1, jak je používá CORDIC. BKM poskytuje jednodušší způsob výpočtu některých elementárních funkcí a na rozdíl od CORDIC nepotřebuje BKM žádný faktor škálování výsledků. Míra konvergence BKM je přibližně jeden bit na iteraci, jako CORDIC, ale BKM vyžaduje více předpočítaných prvků tabulky pro stejnou přesnost, protože tabulka ukládá logaritmy komplexních operandů.
Stejně jako u jiných algoritmů ve třídě shift-and-add je BKM obzvláště vhodný pro implementaci hardwaru. Relativní výkon implementace softwarové BKM ve srovnání s jinými metodami, jako jsou polynomické nebo racionální aproximace, bude záviset na dostupnosti rychlých vícebitových posunů (tj. Barelový posunovač ) nebo hardwarové aritmetice s pohyblivou řádovou čárkou.
Reference
- Bajard, Jean-Claude; Kla, Sylvanus; Muller, Jean-Michel (srpen 1994). „BKM: Nový hardwarový algoritmus pro komplexní elementární funkce“ (PDF) . Transakce IEEE na počítačích . 43 (8): 955–963. doi : 10,1109/12,295857 . ISSN 0018-9340 . Zbl 1073,68501 . Archivováno (PDF) z originálu dne 2018-11-03 . Citováno 2017-12-21 .
- Skaf, Ali; Muller, Jean-Michel; Guyot, Alain (20. – 22. Září 1994). Implementace hardwaru on-line pro komplexní exponenciální a logaritmus . ESSCIRC '94: Dvacátá evropská konference polovodičových obvodů. Ulm, Německo. CiteSeerX 10.1.1.47.7521 . ISBN 2-86332-160-9. Citováno 2021-08-23 .(5 stran) [1] [2]
- Bajard, Jean-Claude; Imbert, Laurent (1999-11-02). Luk, Franklin T. (ed.). „Hodnocení komplexních základních funkcí: nová verze BKM“ (PDF) . Sborník SPIE, pokročilé algoritmy pro zpracování signálu, architektury a implementace IX . Pokročilé algoritmy, architektury a implementace zpracování signálu IX. Společnost inženýrů fotooptických přístrojů (SPIE). 3807 : 2–9. Bibcode : 1999SPIE.3807 .... 2B . doi : 10,1117/12,367631 . Archivováno (PDF) z originálu na 2020-06-09 . Citováno 2020-06-09 .(8 stran) [3]
- Imbert, Laurent; Muller, Jean-Michel; Rico, Fabien (2006-05-24) [2000-06-01, září 1999]. „Radix-10 BKM Algorithm for Computing Transcendentals on Pocket Computers“ . Journal of VLSI Signal Processing (Výzkumná zpráva). Kluwer Academic Publishers / Institut national de recherche en informatique et en automatique (INRIA). 25 (2): 179–186. doi : 10,1023/A: 1008127208220 . ISSN 0922-5773 . S2CID 392036 . RR-3754. INRIA-00072908. Téma 2 ISSN 0249-6399 . Archivováno od originálu dne 2018-07-11 . Citováno 2018-07-11 .(1+15 stran) [4] [5] [6]
- Didier, Laurent-Stéphane; Rico, Fabien (2002-01-21). „Algoritmus BKM s vysokým radixem se zaokrouhlováním“ (PDF) . S2CID 17750192 . lip6.2002.009. hal-02545612. Archivováno (PDF) z originálu dne 2021-08-23 . Citováno 2021-08-23 . [7] (1+11 stran)
- Didier, Laurent-Stéphane; Rico, Fabien (01.12.2004). „High Radix BKM Algorithm“ . Numerické algoritmy . Mezinárodní konference SCAN'2002. Springer Science+Business Media, LLC . 37 (1–4 [4]): 113–125. doi : 10,1023/B: NUMA.0000049459,69390.ff . EISSN 1572-9265 . ISSN 1017-1398 . S2CID 2761452 . [8]
- Muller, Jean-Michel (2006). Elementární funkce: Algoritmy a implementace (2 ed.). Boston, MA, USA: Birkhäuser . ISBN 978-0-8176-4372-0. LCCN 2005048094 .
- Muller, Jean-Michel (12.12.2016). Elementární funkce: Algoritmy a implementace (3 ed.). Boston, MA, USA: Birkhäuser . ISBN 978-1-4899-7981-0. ISBN 1-4899-7981-6 .
Další čtení
- Jorke, Günter; Lampe, Bernhard; Wengel, Norbert (1989). Arithmetische Algorithmen der Mikrorechentechnik (v němčině) (1. vyd.). Berlín, Německo: VEB Verlag Technik . s. 280–282. ISBN 3-34100515-3. ISBN 978-3-34100515-6 . EAN 9783341005156 . MPN 5539165. Licence 201.370/4/89 . Citováno 2015-12-01 .
- Meggitt, John E. (1961-08-29). „Pseudo dělení a pseudonásobení“ . IBM Journal of Research and Development . Riverton, New Jersey, USA: IBM Corporation (publikováno v dubnu 1962). 6 (2): 210–226, 287. doi : 10,1147/kolo 62,0210 . Citováno 2015-12-01 .
- Chi Chen, Tien (červenec 1972). „Automatický výpočet exponenciálů, logaritmů, poměrů a odmocnin“ . IBM Journal of Research and Development . San Jose, Kalifornie, USA; Riverton, New Jersey, USA: IBM San Jose Research Laboratory ; IBM Corporation . 16 (4): 380–388. doi : 10,1147/rd.164.0380 . Citováno 2015-12-01 .
- Revol, Nathalie ; Yakoubsohn, Jean-Claude (2000-05-01). „Zrychlené algoritmy Shift-and-Add“ (PDF) . Spolehlivé výpočty . Boston, USA: Laboratoire d'Analyse Numérique et d'Optimisation (ANO) de l ' Université des Sciences et Technologies de Lille ; Akademická vydavatelství Kluwer . 6 (2): 193–205. doi : 10,1023/A: 1009921407000 . EISSN 1573-1340 . ISSN 1385-3139 . OCLC 67306353 . S2CID 10716391 . Archivováno (PDF) z originálu dne 2021-08-23 . Citováno 2021-08-23 .(14 stran) [9]