-
Data: 2020-12-31 22:48:24
Temat: Re: Czy numpy przyspieszy działania na dużych liczbach w Pythonie?
Od: "o...@g...com" <o...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Trochę się zmieniło. Okazało się, że mogę tu skrócić modulo, a w związku z tym
zastosować "&", zaś dzielenia przez 2 zastąpić ">>".
a=333
b=555
c=777
d=999
x=12345
mask128 = 2**4-1
for i in range(128):
if x & 1:
x=((x * a + b) >> 1) & mask128
else:
x=(x * (c >> 1) + d) & mask128
s=10//2
print(x)
Tak to teraz wygląda. W tej chwili matematyki jest tu już mniej. Wciąż pozostają
jednak mnożenia z dodawaniem (ale coraz mniej widzę tu pola do przyspieszeń). Takich
pętli dla różnych a, b, c, d, x muszę mieć 20 w programie. Działamy tylko na liczbach
całkowitych, a, b, c, d mogą być też ujemne.
> 3. CUDA itp. - jest do tego jakiś moduł w Pythonie (do wszystkiego
> jest jakiś moduł) - patrz pypi. To powinno być prawie
> to.
Ok, poszukam.
> -2. Operacje jakie chcesz robić to mnożenie y = A x, gdzie y i x
> są wektorami, A jest macierzą. Może być opłacalne
> zdiagonalizowanie macierzy A (czyli transformacja U y = U A U^-1
> U x), bo wtedy wielokrotne mnożenia się trywializują. Patrz też
> wartości i wektory własne.
Zapomniałem dodać, że nie można założyć, że te operacje będą wykonywane pod rząd. Jak
widzimy w pętli jest warunek, który jest spełniony dosyć chaotycznie i wtedy
zmieniamy współczynniki. A zdaje się, że powyższa operacja miałaby sens tylko dla
wielu mnożeń pod rząd?
Następne wpisy z tego wątku
- 31.12.20 22:50 o...@g...com
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Wrocław => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-05-02 Łódź => Senior DevOps Engineer <=
- 2024-05-02 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-02 Ulm => Solution Architect (secure communication and IoT solutions) <=
- 2024-05-02 Fotowoltaika - inwerter - jakie ficzery?
- 2024-05-01 1902 Clement Gerrard
- 2024-05-01 Białystok => Inżynier DevOps (Kubernetes, AWS) <=
- 2024-05-01 Berlin => IT Network Engineer <=
- 2024-05-01 Poznań => Java Developer <=
- 2024-05-01 Wrocław => AI Specialist <=
- 2024-05-01 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-01 Kraków => Senior Rust Software Engineer <=