octave: External Packages

 
 E.1.3 External Packages
 -----------------------
 
 The following external packages are required:
 
 BLAS
      Basic Linear Algebra Subroutine library.  Accelerated BLAS
      libraries such as OpenBLAS (<http://www.openblas.net/>) or ATLAS
      (<http://math-atlas.sourceforge.net>) are recommended for best
      performance.  The reference implementation
      (<http://www.netlib.org/blas>) is slow, unmaintained, and suffers
      from certain bugs in corner case inputs.
 
 LAPACK
      Linear Algebra Package (<http://www.netlib.org/lapack>).
 
 PCRE
      The Perl Compatible Regular Expression library
      (<http://www.pcre.org>).
 
    The following external package is optional but strongly recommended:
 
 GNU Readline
      Command-line editing library (<www.gnu.org/s/readline>).
 
    If you wish to build Octave without GNU readline installed, you must
 use the ‘--disable-readline’ option when running the configure script.
 
    The following external software packages are optional but
 recommended:
 
 ARPACK
      Library for the solution of large-scale eigenvalue problems
      (<http://forge.scilab.org/index.php/p/arpack-ng>).  ARPACK is
      required to provide the functions ‘eigs’ and ‘svds’.
 
 cURL
      Library for transferring data with URL syntax
      (<http://curl.haxx.se>).  cURL is required to provide the ‘urlread’
      and ‘urlwrite’ functions and the ‘ftp’ class.
 
 FFTW3
      Library for computing discrete Fourier transforms
      (<http://www.fftw.org>).  FFTW3 is used to provide better
      performance for functions that compute discrete Fourier transforms
      (‘fft’, ‘ifft’, ‘fft2’, etc.)
 
 FLTK
      Portable GUI toolkit (<http://www.fltk.org>).  FLTK is currently
      used to provide windows for Octave’s OpenGL-based graphics
      functions.
 
 fontconfig
      Library for configuring and customizing font access
      (<http://www.freedesktop.org/wiki/Software/fontconfig>).
      Fontconfig is used to manage fonts for Octave’s OpenGL-based
      graphics functions.
 
 FreeType
      Portable font engine (<http://www.freetype.org>).  FreeType is used
      to perform font rendering for Octave’s OpenGL-based graphics
      functions.
 
 GLPK
      GNU Linear Programming Kit (<http://www.gnu.org/software/glpk>).
      GPLK is required for the function ‘glpk’.
 
 gl2ps
      OpenGL to PostScript printing library
      (<http://www.geuz.org/gl2ps/>).  gl2ps is required for printing
      when using OpenGL-based graphics toolkits (currently either FLTK or
      Qt).
 
 gnuplot
      Interactive graphics program (<http://www.gnuplot.info>).  gnuplot
      is currently the default graphics renderer for Octave.
 
 GraphicsMagick++
      Image processing library (<http://www.graphicsmagick.org>).
      GraphicsMagick++ is used to provide the ‘imread’ and ‘imwrite’
      functions.
 
 HDF5
      Library for manipulating portable data files
      (<http://www.hdfgroup.org/HDF5>).  HDF5 is required for Octave’s
      ‘load’ and ‘save’ commands to read and write HDF data files.
 
 Java Development Kit
      Java programming language compiler and libraries.  The OpenJDK free
      software implementation is recommended
      (<http://openjdk.java.net/>), although other JDK implementations
      may work.  Java is required to be able to call Java functions from
      within Octave.
 
 LLVM
      Compiler framework, (<http://www.llvm.org>).  LLVM is required for
      Octave’s experimental just-in-time (JIT) compilation for speeding
      up the interpreter.
 
 OpenGL
      API for portable 2-D and 3-D graphics (<http://www.opengl.org>).
      An OpenGL implementation is required to provide Octave’s
      OpenGL-based graphics functions.  Octave’s OpenGL-based graphics
      functions usually outperform the gnuplot-based graphics functions
      because plot data can be rendered directly instead of sending data
      and commands to gnuplot for interpretation and rendering.
 
 PortAudio
      PortAudio (<http://www.portaudio.com/>) provides a very simple API
      for recording and/or playing sound using a simple callback function
      or a blocking read/write interface.  It is required for the audio
      processing functions ‘audioplayer’, ‘audiorecorder’, and
      ‘audiodevinfo’.
 
 Qhull
      Computational geometry library (<http://www.qhull.org>).  Qhull is
      required to provide the functions ‘convhull’, ‘convhulln’,
      ‘delaunay’, ‘delaunayn’, ‘voronoi’, and ‘voronoin’.
 
 QRUPDATE
      QR factorization updating library
      (<http://sourceforge.net/projects/qrupdate>).  QRUPDATE is used to
      provide improved performance for the functions ‘qrdelete’,
      ‘qrinsert’, ‘qrshift’, and ‘qrupdate’.
 
 QScintilla
      Source code highlighter and manipulator; a Qt port of Scintilla
      (<http://www.riverbankcomputing.co.uk/software/qscintilla>).
      QScintilla is used for syntax highlighting and code completion in
      the GUI.
 
 Qt
      GUI and utility libraries ().  Qt is required for building the GUI.
      It is a large framework, but the only components required are the
      GUI, core, and network modules.
 
 SuiteSparse
      Sparse matrix factorization library
      (<http://www.cise.ufl.edu/research/sparse/SuiteSparse>).
      SuiteSparse is required to provide sparse matrix factorizations and
      solution of linear equations for sparse systems.
 
 SUNDIALS
      The SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers
      (<http://computation.llnl.gov/projects/sundials>) is required for
      the Ordinary Differential Equations (ODE) solvers ‘ode15i’ and
      ‘ode15s’.
 
 zlib
      Data compression library (<http://zlib.net>).  The zlib library is
      required for Octave’s ‘load’ and ‘save’ commands to handle
      compressed data, including MATLAB v5 MAT files.