-
Data: 2014-08-01 21:28:17
Temat: Re: szybki logarytm
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-07-30 16:41, bartekltg pisze:
> Wtedy to dowolny (w granicach rozsądku) wielomian policzę sobie
> w czasie log_2 (n) ;-)
Policzmy:
mamy wielomian 10-tego stopnia: a_0+a_{1}x+a_{2}x^2+...a_{10}x^{10}
Schemat Hornera
((((((((((a_{10}*x)+a_9)x+a_8)x+a_7)x+a_6)x+a_5)x+a_
4)x+a_3)x+a_2)x+a_1)+a_0
Rozkład wygodny do obliczeń równoległych:
a_0+a_{1}x+x^2*(a_{2}+a_{3}x)+
x^4*(a_{4}+a_{5}x+x^2*(a_{6}+a_{7}x) )+
x^8*(a_{8}+a_{9}x+a_{10}x^2)
1. krok - mnożenie przez x
o blizenie x^2:= x*x
a_{1}x
a_{3}x
a_{5}x
a_{7}x
a_{9}x
2. krok, ale krótki, tylko dodawanie
f0 := a_0+a_{1}x
f1 := a_{2}+a_{3}x
f2 := a_{4}+a_{5}x
f3 := a_{6}+a_{7}x
f4 := a_{8}+a_{9}x
otrzymujemy:
f0+x^2*(f1)+
x^4*(f2+x^2*(f3) )+
x^8*(f4+a_{10}x^2)
3. krok mnożenie przez x^2
obliczenie x^4 := x^2*x^2
g0 := x^2*(f1)
g1 := x^2*(f3)
g2 := a_{10}x^2
otrzymujemy
f0+g0+
x^4*(f2+g1 )+
x^8*(f4+g2)
4. krok, ale krótki, tylko dodawanie
h0 := f0+g0
h1 := f2+g1
h2 := f4+g2
otrzymujemy
h0 + x^4*h1 + x^8*h2
5. krok mnożenie przez x^4
obliczenie x^8 := x^4*x^4
x^4*h1
6. dodawanie
h0 + x^4*h1
7. mnożenie x^8*h2
8. dodawanie
(h0 + x^4*h1) + x^8*h2
8 kroków w tym 4 mnożenia
Chociaż z drugiej strony mnożeni i dodawanie obecnie to tyle samo za to
dzielenie dużo więcej
dodawanie, mnożenie na int32 czy też float tylko 1 takt, dzielenie
stałoprzecinkowe 7-8 a zmiennoprzecinkowe 13 taktów.
Następne wpisy z tego wątku
- 01.08.14 21:37 feldmarszałek tusk
- 01.08.14 23:10 R.e.m.e.K
- 02.08.14 08:44 Stregor
- 02.08.14 10:53 firr
- 02.08.14 11:04 firr
- 02.08.14 11:36 firr
- 02.08.14 12:29 R.e.m.e.K
- 02.08.14 14:47 bartekltg
- 02.08.14 18:47 feldmarszałek tusk
- 04.08.14 20:43 slawek
- 04.08.14 20:58 Borneq
- 05.08.14 01:15 slawek
- 05.08.14 08:00 Tomasz Kaczanowski
- 05.08.14 08:38 slawek
- 05.08.14 09:11 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-05 Shrek, wzrośnie cena prądu :-)
- 2025-07-05 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-07-06 Płacić za wodę ze studni
- 2025-07-06 Kolejny inżynier...
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-04 od kiedy można obrażać Plastusia i do kiedy Batyra?
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=