Julia (Español)

From ArchWiki
Revision as of 12:59, 14 December 2018 by Tuxpain (talk | contribs) (actualizada conforme la versión inglesa)
Jump to navigation Jump to search
Estado de la traducción
Este artículo es una traducción de Julia, revisada por última vez el 2018-12-14. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.
Nota: https://julialang.org/ contiene una documentación magnífica y de código abierto. La información no específica a Arch debería aportarse allí.

Julia es un lenguaje de programación dinámico de alto nivel y alto rendimiento para computación numérica. Proporciona un sofisticado compilador, ejecución paralela distribuida, precisión numérica y una extensa librería de funciones matemáticas.

Instalación

Instale el paquete julia. Para aprender cómo usar a Julia, lea la documentación previa.

IJulia

Si intenta instalar ijulia ejecutando Pkg.add("IJulia") y aparece la advertencia MbedTLS had build errors., puede que necesite instalar el paquete mbedtls.

Errores de compilación de paquetes

Arpack

La compilación del paquete Arpack puede generar un error como el que se muestra a continuación (se ha omitido el stacktrace):

julia> Pkg.build("Arpack")
  Building Arpack → `~/.julia/packages/Arpack/UiiMc/deps/build.log`
┌ Error: Error building `Arpack`:
│ ERROR: LoadError: LibraryProduct(nothing, ["libarpack"], :libarpack, "Prefix(~/.julia/packages/Arpack/UiiMc/deps/usr)") is not satisfied, cannot generate deps.jl!

Se ha presentado un problema.

Arpack empaqueta su propio libarpack.so que requiere que el DSO libopenblas64_.so.0 esté presente en el sistema:

$ ldd ~/.julia/packages/Arpack/UiiMc/deps/usr/lib/libarpack.so | grep 'not found'
        libopenblas64_.so.0 => not found

La parte UiiMc de la ruta puede ser diferente en su sistema. Tal y como se muestra, el DSO requerido no está presente en el sistema, lo que causa el error de compilación. Una solución para este problema es crear un enlace simbólico al archivo DSO proporcionado por el paquete openblas, es decir

# ln -s /usr/lib/libopenblas.so /usr/lib/libopenblas64_.so.0 

y luego recompilar el paquete Arpack en Julia. Sin embargo, no está claro si el DSO /usr/lib/libopenblas.so del paquete openblas puede funcionar de manera estable como reemplazo directo, dado que el sufijo 64 parece usarse para indicar una diferencia en la interfaz y el sufijo 64 indica una versión diferente en lugar de una diferencia en la arquitectura de destino.

Integración con editores

Vim

Resaltado de sintaxis y más

julia-vim

Linting

El complemento julialint combinado con el paquete Lint.jl proporciona linting.

Rendimiento

Es recomendable que use una implementación BLAS de multihilo, como openblas. Esto puede llevar a aceleraciones de 10-50x para ciertas operaciones matriciales.