我的系统是gentoo 3. 0 .6, gnome-3 ,gcc-4.5.3, 安装好系统,和一些必要的autotool, 就可以下载octave 安装,
有些教程(Programming Abstractions in C: A Second Course in Computer Science )说程序90%是依靠库(Library)来完成的,只有很少的一部分是跟据应用来编写的代码,
从octave的源代码安装来看,果然如此。
下载octave-3.4.3.tar.gz,然后解压,建议进入su超级用户进行操作,
tar xvvf octave-3.4.3.tar.gz
cd octave-3.4.3
./configure
make
make install
当第一步,./configure的编译时候,首先是提示依赖BLAS和LAPACK,其实安装LAPACK就包括了BLAS,下载LAPACK,
1,我们现看看LAPACK的来龙去脉,LAPACK-Linear Algebra PACKage 的缩写,线性代数包,就是计算机算法程序,LAPACK的安装是cmake, 如果你没有安装cmake,那就首先安装cmake后,再解压tar xvvf lapack-3.4.0.tgz,然后,进入文件夹后,
cmake .
make
make install
LAPACK是一个由: 田纳西大学,加州大学伯克利分校,科罗拉多州丹佛大学和NAG有限公司联合开发并提供的软件包。
LAPACK是用Fortran 90和提供用于求解线性方程组的例程,最小二乘线性系统的方程组,特征值问题,奇异值问题的解决方案。还提供了相关的矩阵因子分解(LU, Cholesky, QR, SVD, Schur, generalized Schur),如舒尔因式分解的重新排序和条件数估计的相关计算。稠密和带状矩阵处理,但不是一般的稀疏矩阵。在所有领域,类似的功能是提供真实和复杂的矩阵,在单精度和双精度。
LAPACK项目最初的目标是使被广泛使用的EISPACK,并有效地共享内存的向量和并行处理器上运行LINPACK库。在这些机器上,LINPACK性能和EISPACK是低效的,因为其内存访问模式不顾机器的多层次的内存层次结构,从而花费太多时间,而不是做有用的浮点运算的数据移动。LAPACK重组的算法,使用块矩阵运算,如矩阵乘法,解决这个问题,在最内层的循环。这些块操作,可以为每个架构进行了优化,占内存层次结构,并提供各种现代化的机器上实现高效率的运输方式。我们使用的术语,而不是“便携式”的“运输”,因为最快的性能,LAPACK的要求,高度优化的分块矩阵操作每台机器上已经实现。
更多信息参考:
http://www.netlib.org/lapack/
2,
当你安装好LAPACK后,再一次进入octave文件夹,octave-3.4.3/$./configure编译的时候,会出现一下的软件依赖关系表,逐一解释吧!
./configure
configure: WARNING: UMFPACK not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: qrupdate not found. The QR & Cholesky updating functions will be slow.
configure: WARNING: AMD library not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: COLAMD library not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: CCOLAMD library not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: CXSparse library not found. This will result in some lack of functionality for sparse matrices.
configure: WARNING: GLPK library not found. The glpk function for solving linear programs will be disabled.
configure: WARNING: GraphicsMagick++ library not found. The imread function for reading image files will not be fully functional.
configure: WARNING: HDF5 library not found. Octave will not be able to save or load HDF5 data files.
configure: WARNING: Qhull library not found -- this will result in loss of functionality of some geometry f