Article View: pl.comp.programming
Article #217302Re: Czy numpy przyspieszy działania na dużych liczbach w Pythonie?
From: osobli...
Date: Thu, 31 Dec 2020 21:48
Date: Thu, 31 Dec 2020 21:48
33 lines
2887 bytes
2887 bytes
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?
Technical Details
Message-ID:
<58529ff8-7dbe-453f-838b-1c00181137d5n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<e78c675f-bf73-403a-9991-9b41f7accc60n@googlegroups.com> <rsl6kv$6a6$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:622a:14e:: with SMTP id v14mr59244540qtw.298.1609451304760; Thu, 31 Dec 2020 13:48:24 -0800 (PST) X-Received: by 2002:a05:622a:142:: with SMTP id v2mr58611463qtw.169.1609451304519; Thu, 31 Dec 2020 13:48:24 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Thu, 31 Dec 2020 13:48:24 -0800 (PST) In-Reply-To: <rsl6kv$6a6$1@news.icm.edu.pl> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=2a02:a458:2a00:1:3d86:a562:a2a3:1854; posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB NNTP-Posting-Host: 2a02:a458:2a00:1:3d86:a562:a2a3:1854 References: <e78c675f-bf73-403a-9991-9b41f7accc60n@googlegroups.com> <rsl6kv$6a6$1@news.icm.edu.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <58529ff8-7dbe-453f-838b-1c00181137d5n@googlegroups.com> Subject: Re: Czy numpy przyspieszy działania na dużych liczbach w Pythonie? From: "osobli...@gmail.com" <osobliwy.nick@gmail.com> Injection-Date: Thu, 31 Dec 2020 21:48:24 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit