随笔分类 - Open Source Library
有很多很好的开源代码库,使用这些代码库,可以加快我们的设计开发,参考这些代码库,也可以让我们写出更好的代码。
摘要:在OpenCV中,矩阵是一个基础的数据结构,在CvCore中。在较早版本里面,使用的是C语言实现的struct,较新的版本里面有C++实现的class。下面分别介绍一下这两种使用方法。CvMat参考http://www.opencv.org.cn/index.php/Cxcore%E5%9F%BA%E7%A1%80%E7%BB%93%E6%9E%84在OpenCV的中文首页上,文档里面给的还是C实现的结构体。如下,typedef struct CvMat { int type; /* CvMat 标识 (CV_MAT_MAGIC_VAL), 元素类型和标记 */ int step; /* ..
阅读全文
摘要:广义特征值问题,即Ax= Bx,在Matlab中,使用eig()求解一般特征值问题和广义特征值。[V,D] = eig(A,B,flag), A和B时方阵,flag用来选择算法,'qz'表示选择使用QZ算法。也可以直接调用qz()来求解,[AA,BB,Q,Z,V] = qz(A,B,flag), flag 表示使用复数或实数计算,默认取值为复数。在Lapack中,有四个函数都是用来求解广义特征值的,?GEGS Computes the generalized eigenvalues, Schur form, and left and/or right Schur vectors
阅读全文
摘要:虽然只是写了两个测试例子,但我觉得其它的函数用起来也差不多,它提供的函数的接口有很好的一致性,例如每一个函数的第一个参数都是matrix_order,以n开头的表示矩阵的列数,以ld开头的表示矩阵的leading dimension,有的地方说是矩阵的行数。虽然目前还没有找到LAPACKE的接口的参数说明文当,但是LAPACK的参数接口文档已经是很全面的了,还有CLAPACK的文档。CLAPACK的接口与LAPACK的接口基本一致,但是少了work等与工作内存相关的参数,而LAPACK与CLAPACK的接口参数相比,LAPACKE的参数,多了一个matrix_order,少了一个info,而.
阅读全文
摘要:使用示例2)求解矩阵的特征值和特征向量Av=v,函数原型如下,lapack_int LAPACKE_dgeev( int matrix_order, char jobvl, char jobvr, lapack_int n, double* a, lapack_int lda, double* wr, double* wi, double* vl, lapack_int ldvl, double* vr, lapack_int ldvr );/*params:matrix_order LAPACK_COL_MAJOR or LAPACK_ROW_MAJORjobvl N,表示不求左特征向量,
阅读全文
摘要:解线性方程组A‘x=B使用函数LAPACKE_dgesv,函数原型如下,lapack_int LAPACKE_dgesv( int matrix_order, lapack_int n, lapack_int nrhs, double* a, lapack_int lda, lapack_int* ipiv, double* b, lapack_int ldb );/*//参数说明:matrix_order 矩阵的顺序,两种取值,LAPACK_COL_MAJOR或是LAPACK_ROW_MAJOR。 如果是COL_MAJOR,表示a[0:N-1]是第一列,a[N:2N-1]是第二列,表明矩阵的
阅读全文
摘要:LAPACKE是LAPACK的C程序接口,LAPACKE提供了三个头文件,在使用时,我们需要包含这三个头文件。那么我们就从这三个头文件,来看看如何使用LAPACKE。1)数据类型LAPACKE 使用define定义了下面几种数据类型,#define lapacke_int int #define lapacke_logical int#define lapacke_complex_float float _Complex#define lapacke_complex_double double _Complex所以在程序中,int, float, double 都是可以使用的,而对于复数com
阅读全文
摘要:LAPACKLAPACK,全称是Linear Algebra PACKage,一个高性能的线性代数的程序库,主页http://www.netlib.org/lapack/ 。1、安装 LAPACK是用fortran写的,LAPACKE是它的C语言接口,先安装LAPACK,然后安装LAPACKE,那么在程序中可以直接调用C函数来实现需要的功能。下面介绍这两个包的安装。1)LAPACK的安装 从官方网站上下载lapack包,目前最新版本是3.3.1。解压之后,查看一下README文件。在Linux上安装(我用的时Ubuntu10.04LTS),需要先配置好make.inc文件。一些编译参数,PL.
阅读全文