Date: prev next · Thread: first prev next last
2023 Archives by date, by thread · List index


Ciao Carlo,

Qualche breve considerazione e annotazioni.

La prima considerazione da fare è la versione di LO e l'ambiente in cui
la stai eseguendo.

1) modulo math... incomprensibile incompatibilità con equation editor e
(sopratutto) math type

Puoi spiegare meglio?

2) modulo calc...

dunque risulta che per incrementi successivi di 1/10 l'intero di 6,0 è 5 (!)

Io ho appena provato con LO 7.5.1 su Linux e non riscontro affatto
questo comportamento.

o quest’altra:

dunque pure qui risulta che per incrementi successivi di 15° il coseno di
90 non è zero (!)

Il fatto che problemi identici siano presenti su tutti i fogli di calcolo,
excel o gnumeric, non sembra giustificativo...

Ed invece lo è, perché qui non stiamo parlando di numeri interi ma di
numeri in virgola mobile.

Ti riporto un estratto da un thread in cui nel 2020 veniva discusso
proprio questo comportamento:

========================================
Functions like COS() or SIN() are computed with a polynomial
approximation called “limited development”. You have first a quotient
PI()/2 which is itself approximate. You then cumulate two
approximations. If you’re versed in mathematics, you can evaluate the
final error resulting from inexact argument, method error (truncated
polynomial development) and computation itself (every operation is
inexact and mapped to the “nearest” representable value).

Never trust floating-point computation, it will never give an exact
result. If the algorithm is long enough (which is not the case for COS()
and SIN()), the result may be really far away from what math tells.

In your case 10-16 is fairly close to zero. The main point is how this
magnitude compares to other quantities it may be added to. If their
orders of magnitude are “sufficiently” different, the tiny “false zero”
does not matter. What is important is the usage you put to this “false
zero”.

LO by itself cannot “correct” the small quantity to zero because it
can’t assert that the argument is strictly equal to pi/2 because
equality has no meaning with floating-point.
========================================

Infatti il problema che riscontri si può facilmente "arginare"
aggiungendo un arrotondamento come il seguente

   =ARROTONDA(COS(RADIANTI(angolo)); 10)

Sarebbe inoltre gradito un ulteriore ampliamento del "parco" delle funzioni
speciali.
Sono presenti fattoriale, fattoriale doppio, funzione gamma.
Non dovrebbe essere difficile implementare l'integralesponenziale del primo
ordine (* eqs. 5.1.53 fino alla 5.1.56), la gamma incompleta inferiore (*
eq. 6.5.4) e i polinomi ultrasferici di Gegenbauer (* eq. 22.3.4), dove
l'asterisco si riferisce al testo "Abramowiz & Stegun - Handbook of
Mathematical Functions".

Anche solo quale promemoria per futuri sviluppi, vogliate cortesemente
tener conto di questa mia.

Tutto molto interessante, ma questa è una lista di utilizzatori di LO,
non di sviluppo.

Dovrei segnalare queste tue richieste nelle apposite liste o nei gruppi
Telegram di sviluppo.

--
Gabriele Bertolucci
[passa come me ad un'email sicura: https://pr.tn/ref/BT54ED5PY590]



-- 
Come cancellarsi: E-mail users+unsubscribe@it.libreoffice.org
Problemi? https://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: https://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: https://listarchives.libreoffice.org/it/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.