Copyright 2016-2022 James Paul Turner.
Este archivo es parte de la biblioteca ARPRA.
La Biblioteca ARPRA es un software gratuito: puede redistribuirlo y/o modificarla bajo los términos de la Licencia Pública General Menor GNU Publicado por Free Software Foundation, ya sea la versión 3 de la licencia, o (a su opción) cualquier versión posterior.
La Biblioteca ARPRA se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; Sin siquiera la garantía implícita de comerciabilidad o estado físico para un propósito particular. Vea la licencia pública general de GNU Lesser para obtener más detalles.
Debería haber recibido una copia de la Licencia Pública General Lesser de GNU junto con la Biblioteca ARPRA. Si no, consulte http://www.gnu.org/licenses/.
Para cualquier rango de año de copyright especificado como AYYY-ZZZZ en este paquete, tenga en cuenta que el rango especifica cada año en ese intervalo cerrado.
ARPRA es una biblioteca C para (ar) bitrary- (p) recisión (r) ange (a) nalizado de los cálculos de punto flotante IEEE-754, basado en GNU MPFR. El principal caso de uso de ARPRA es mantener límites calculados superiores e inferiores de error numérico para todas las variables, en todo momento, a lo largo de un cálculo. ARPRA utiliza intervalo recortado mixto/aritmética afina con reducción del término de desviación para lograr esto.
La aritmética afina es una variante de la aritmética de intervalo que explica las correlaciones variables. Como tal, no sufre el llamado "problema de dependencia", donde los intervalos crecen demasiado debido a la falta de consideración para las correlaciones variables. El problema se describe más a fondo en https://en.wikipedia.org/wiki/interval_arithmetic#dependency_problem. Al combinar los resultados de la aritmética aritmética y afina de intervalo, uno evita tanto el problema de dependencia de la aritmética de intervalo como el problema no lineal sobreploqueador/inferior de la aritmética afina.
ARPRA implementa aritmética afina utilizando un backend de GNU MPFR. MPFR es una biblioteca de punto flotante de precisión arbitraria, lo que significa que las variables MPFR de punto flotante pueden ser de precisión arbitraria. Para obtener más información, consulte el sitio web del proyecto MPFR en http://www.mpfr.org/. Al implementar la aritmética afín con un backend de precisión arbitraria, uno puede, por ejemplo, probar cómo un cambio en la precisión numérica o el esquema de integración afecta el error local y global durante una larga simulación numérica, sin el intervalo de intervalo de intervalo regular de la aritmética.
Para obtener más información sobre la implementación y las características de ARPRA, como la reducción del término de recorte y desviación de rango, consulte el artículo original publicado:
Turner, JP y Nowotny, T. (2021). ARPRA: una biblioteca arbitraria de análisis de rango de precisión. Frontiers in Neuroinformatics, 30.
https://doi.org/10.3389/fninf.2021.632729
ARPRA sigue el familiar paradigma del edificio de software GNU/Linux. El procedimiento de instalación típico consiste en lo siguiente.
Si se instala desde el repositorio de origen GIT (es decir, no es un tarball Dist), el script de configuración y otros archivos auxilares deben generarse ejecutando el siguiente comando en la raíz del repositorio:
autoreconf -i -Wall
Esto genera los archivos de configuración desde los archivos Configure.ac y Makefile.am (tenga en cuenta que los AutoTools de GNU deben instalarse para ejecutar Autoreconf). A continuación, ejecute los comandos de configuración, compilación e instalación:
./configure
make
sudo make install
Todos los archivos ARPRA instalados se pueden desinstalar limpiamente desde el sistema ejecutando el siguiente comando:
sudo make uninstall
Se puede ejecutar un conjunto de programas de prueba con el siguiente comando:
make check
Todas las contribuciones (por ejemplo, informes de errores, solicitudes de funciones, conocimiento experto, código fuente y contribuciones de documentación) se reciben agradecidamente a través del rastreador de problemas https://github.com/arpra-project/arpra/issues o la solicitud de extracción.
El repositorio de código fuente para ARPRA está alojado en GitHub. Clonarlo usando:
git clone https://github.com/arpra-project/arpra