eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszybki logarytmRe: szybki logarytm
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: szybki logarytm
    Date: Tue, 29 Jul 2014 18:56:34 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 79
    Message-ID: <lr8jo3$f1j$1@node2.news.atman.pl>
    References: <lqh403$k4t$1@node2.news.atman.pl> <lqllir$26e$1@node2.news.atman.pl>
    <lr7js1$d7i$1@node2.news.atman.pl>
    NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1406652996 15411 89.73.81.145 (29 Jul 2014 16:56:36 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Tue, 29 Jul 2014 16:56:36 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101
    Thunderbird/24.6.0
    In-Reply-To: <lr7js1$d7i$1@node2.news.atman.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:206451
    [ ukryj nagłówki ]

    On 29.07.2014 09:52, Borneq wrote:
    > W dniu 2014-07-22 14:31, bartekltg pisze:
    >> Odpowiedź prosta, rozbić" liczbę na cechę/mantysę, choćby funkcją
    >> frexp (x) -> (y,n) : x = y*2^n, 0.5<=y<1
    >
    > Jak zrobić funkcję frexp? Trzeba bitowo grzebać we floacie, gdzie już
    > jest rozbita na cechę i mantysę? Chyba się da, C++ to nie Java i
    > można robić takie konwersje

    Użyć funkcji frexp z cmath.

    A ona bawi się w bity. Działa tak samo, a ja nie muszę pamiętać
    dokładnie specyfikacji ieee ileśtam. Nie można przesadzać z firowaniem;)

    >> całość: http://pastebin.com/WuYW6MTJ
    >
    > chrono::high_resolution_clock::now() to standardowa otoczka
    > QueryPerformanceCounter ?

    Cholera wie. Pewnie "zależy od implementacji".
    Najdokładniejszy zegar, jaki jest dostępny dla piszącego
    bibliotekę na danej maszynie.
    Pewnie można zapytać się zegara o precyzja, a przynajmniej
    o rozdzielczość.

    > A może by spróbować podzielić wielomian przez wielomian? Choć
    > dzielenie trwa znacznie dłużej niż mnożenie, to będzie tylko jedno.

    Przecież właśnie to robię. Mam wielomian w liczniku, wielomian
    w mianowniku, liczone są oba, potem wyniki są dzielone.

    > Skąd wziąłeś te wzory? Czy podobnie daje się wyprowadzić na inne
    > funkcje?

    Dla wielomianów masz kryterium Czebyszewa i algorytm Remeza.
    http://en.wikipedia.org/wiki/Remez_algorithm

    Dla wymiernych kryterium też działa (pewnie już nie na zasadzie
    _najlepszej_ funkcji, a jedynie przyzwoitej, jak będę potrzebował,
    wgryzę się głębiej. Na razie odpłynąłem w próbę zrozumienia,
    dlaczego funkcje wymierne dają tak znacznie lepsze wyniki
    niż wielomiany:).

    Wyznaczenie też jest bardziej kłopotliwe.
    Jakoś robi to boost
    http://www.boost.org/doc/libs/1_36_0/libs/math/doc/s
    f_and_dist/html/math_toolkit/backgrounders/remez.htm
    l
    I jakoś lepiej robi to mathematica
    http://reference.wolfram.com/language/FunctionApprox
    imations/ref/MiniMaxApproximation.html
    [używa błędu względnego, chciałem +-bezwzględny,
    dodałem do funkcji 100:)]

    > A jeśli chodzi o wolniejsze szeregi ale pozwalające wyliczyć
    > z dowolną dokładnością, to gdzie można natknąć się na zbiór takich
    > wzorów? Trochę jest na exp, sinus,czy cosinus w tablicach
    > matematycznych.

    To, co powyżej nie było przybliżeniem Pada. Było funkcją wymierną
    utworzoną aby na danym przedziale jak najlepiej (minimalny błąd
    maksymalny) odtworzyć funkcję.

    Różnica jest taka, jak między szeregiem taylora a najlepszym wielomianem
    danego stopnia.

    Takie funkcje na pewno są w pracach poświęconych wyznaczaniu
    numerycznych przybliżeń. Kiedyś czytałem coś większego
    o polilogarytmach, były tabelki;-)


    Metody z kwadratowaniem na razie rozumiem, nie umiem znaleźć ;-)
    Może jakbyś przepuścił przez tą maszynkę podane tam wielomiany.



    pzdr
    bartekltg




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: