Vă mulțumim pentru susținere

O mică deviere în precizia punctului de plutire (im), partea 1

Cei mai mulți matematicieni sunt de acord că:

e ? i + 1 = 0

Cu toate acestea, majoritatea implementărilor punctului în flotare nu sunt de acord. Cât de bine putem rezolva această dispută?

Sunt dornic să aud despre diferite limbi și implementări și diferite metode pentru a face rezultatul cât mai aproape de zero posibil. Fii creativ!

0
adăugat editat
@Foo Bah: Am rulat editarea înapoi, deoarece punctul este că este o expresie care conține 0, 1, i, e și?. Dacă rescrieți ca exp , atunci își pierde "poezia".
adăugat autor Chris Jester-Young
@FooBah: Nu este adevărat. Matematicienii (în special cei instruiți în complexitatea punctului variabil) nu sunt de acord că exp (pi * i) + 1 = 0 . Este doar forma matematică pură acceptată ca fiind adevărată. Întrebarea este o explorare a modului în care "leaky", care este în termeni în virgulă mobilă.
adăugat autor Chris Jester-Young
@FooBah: Pentru că justificați folosind exp prin baza sa de tip floating point, care aduce formularul exp în domeniul punctului variabil. Evident, în termeni cu virgulă mobilă, exp (pi * i) + 1! = 0 . Astfel, schimbarea dvs. pentru a utiliza exp , mergând prin logica dvs. de a trece mai întâi la exp , ar falsifica prima teză a mesajului.
adăugat autor Chris Jester-Young
Amândoi, de fapt. Aveam nevoie de o limită superioară pentru E (| m-X | ^ 3), dar cantitatea m în sine - care este un fel de măsură a tendinței centrale analoagă mediei sau medianului - ar putea fi, de asemenea, de interes. (Am găsit o modalitate în jurul valorii de acest lucru în dovadă, totuși, astfel încât întrebarea este pur și simplu din curiozitate.)
adăugat autor Robert Höglund
@ ChrisJester-Young Întrebarea a fost despre evaluarea în virgulă mobilă a expresiei exp (pi * i) + 1 , nu despre frumusețea matematică.
adăugat autor Foo Bah
@ ChrisJester-Young Vă rugăm să explicați cum poate cineva să accepte e ** (? I) + 1 = 0 dar nu poate accepta exp (? I) + 1 = 0 la nivel matematic. Dacă explorați problema punctului plutitor, atunci nu contează ce expresie folosiți - ambele sunt aceleași.
adăugat autor Foo Bah
A fost foarte frumos să încerci să răspunzi la această întrebare, are o mulțime de gândire colaterală. :)
adăugat autor Damian Lattenero
Sunt încă confuz. Întrebați despre cantitatea $ E (| m-X | ^ 3) $ sau $ m $ care minimizează $ E (| m-X | ^ 3) $?
adăugat autor mreggen
Doar cei mai mulți matematicieni?
adăugat autor biozinc

6 răspunsuri

Minimizatorul $ m $ este cea mai apropiată proiecție de punct de $ X $ pe subspațiul $ L ^ p $ format de funcțiile constante ($ p = 3 $ în cazul tău). Acest $ m $ este uneori numit $ p $ -prediction sau $ p $ -predictor de $ X $. Aparent, această terminologie a început cu Andô și Amemiya . Unele dintre lucrările ulterioare sunt Landers and Rogge (care a scris câteva alte lucrări, de ex. aceasta ) și Cuesta și Matrán . A apărut și termenul "așteptare generalizată (condiționată)".

5
adăugat

Fie f (x) funcția densității de probabilitate a lui X. Putem defini momentele dreapta și stânga și dreapta ale lui X cu privire la m după cum urmează:

Măsura stânga cu un singur moment al lui k în raport cu m = int _ [- inf m] (m-x) ^ k f (x) dx

(X-m) k = f (x) dx (x-m) x (x)

Se observă următoarele analogii

  1. Mediana este statistica pentru care zeroul stânga și mâna dreaptă sunt momente egale (momentele zeroth sunt doar probabilități)

  2. Pentru medie, primele momente din stânga și din dreapta sunt egale.

  3. Pentru statisticile definite în întrebare, cele două momente stângi și drepte sunt egale.

1
adăugat
Modul este, de asemenea, cazul de limitare m-> 0; acest lucru mi-a fost subliniat la terrytao.wordpress.com/ 2009/05/06/at-the-Fefferman-zwnj & expozitii, con; e
adăugat autor Terry Tao

E (| X-EX | ^ k) se numește momentul centrului k (sau centrat) al variabilei aleatoare X.

1
adăugat

Iată o scurtă listă de implementări și limbi pe care le-am încercat. Este sortat după apropierea de zero:

  • Scheme: (+ 1 (make-polar 1 (atan 0 -1)))
    • ? 0.0+1.2246063538223773e-16i (Chez Scheme, MIT Scheme)
    • ? 0.0+1.22460635382238e-16i (Guile)
    • ? 0.0+1.22464679914735e-16i (Chicken with numbers egg)
    • ? 0.0+1.2246467991473532e-16i (MzScheme, SISC, Gauche, Gambit)
    • ? 0.0+1.2246467991473533e-16i (SCM)
  • Common Lisp: (1+ (exp (complex 0 pi)))
    • ? #C(0.0L0 -5.0165576136843360246L-20) (CLISP)
    • ? #C(0.0d0 1.2246063538223773d-16) (CMUCL)
    • ? #C(0.0d0 1.2246467991473532d-16) (SBCL)
  • Perl: use Math::Complex; Math::Complex->emake(1, pi) + 1
    • ? 1.22464679914735e-16i
  • Python: from cmath import exp, pi; exp(complex(0, pi)) + 1
    • ? 1.2246467991473532e-16j (CPython)
  • Ruby: require 'complex'; Complex::polar(1, Math::PI) + 1
    • ? Complex(0.0, 1.22464679914735e-16) (MRI)
    • ? Complex(0.0, 1.2246467991473532e-16) (JRuby)
  • R: complex(argument = pi) + 1
    • ? 0+1.224606353822377e-16i
0
adăugat
Am foarte mult timp cu acest post, vă mulțumesc foarte mult
adăugat autor Damian Lattenero

Este posibil să rezolvăm această dispută?

Primul meu gând este să vă uit la un limbaj simbolic, cum ar fi Maple . Nu cred ca asta conteaza ca punct plutitor.

De fapt, cum reprezintă i (sau j pentru ingineri) într-un limbaj de programare convențional?

Poate că un exemplu mai bun este păcatul (?) = 0? (Sau am pierdut din nou punctul?)

0
adăugat
Este, de fapt, foarte asemănător cu întrebarea dacă păcatul? = 0. Din nou, nici o implementare FP pe care am aici o arată că este 0, așadar, presupun că "disputa" nu poate fi rezolvată pe deplin 100%. Dar, din moment ce vorbim despre FP, vor fi necesare soluții aproximative. :-P Multe limbi de programare au o clasă complexă de numere, care deține pur și simplu două double s. Pentru mine, este destul de bun, dacă limba are, de asemenea, facilități pentru a face (un fel de) operațiuni supraîncărcate pe ele (de exemplu, utilizarea cmath în Python este în regulă, în c
adăugat autor Chris Jester-Young

Sunt de acord cu Ryan, va trebui să te muți la un alt sistem de reprezentare a numerelor. Soluția se află în afara domeniului de matematică cu virgulă mobilă pentru că aveți nevoie de pi ca reprezentând o zecimală infinit de lungă, astfel încât orice schemă de precizie limitată nu va funcționa (cel puțin fără a utiliza un fel de factor fudge pentru a compensa pierderea precizie).

0
adăugat