现在的位置: 首页 > 综合 > 正文

vs2010安装配置mtl

2013年01月21日 ⁄ 综合 ⁄ 共 1243字 ⁄ 字号 评论关闭

MTL4(Matrix Template Library 4,矩阵模板库)是MTL2的增强版。MTL4也提供了各种类型向量、矩阵的生成操作,虽然在子矩阵和元素的访问方面不及Blitz++全面,但它提供了基本的线性方程组求解功能(Solving Linear Systems,SLS),这对那些想在数值计算领域走的更远些的人来说,无疑是个好消息。不过MTL4的文档实在是不大像话,连个manual都没有,只有官网上给出的一个reference。另外,MTL4依赖于Boost库,安装起来就不如Blitz++方便啦。

下面就如何用MTL4在VS2010上进行SLS做一个简单的介绍。

步骤1:下载安装Boost库。所谓Boost,我的理解是Best oriented-object standard tools,硬要翻译成中文的话只能说它是来源于最大的C++社区的时下最牛叉的C++库,因为它里面的每个部分都由很猛的C++程序员编写并经过N多更猛的人审批测试通过才保存下来。正因为如此,下一个C++标准库的很多子库都将来源于此(至于具体包括哪些就不在此罗嗦了)。
上官网http://www.boostpro.com/download/下载for VC++的安装包,此时是boost_1_44_setup.exe,点击运行,安装过程中记得点选Boost.Regex。它会将所有头文件、文档和预编译好的库文件都安装到你指定目录上(比如C:\Program files\Boost),省得麻烦去用bjam工具手动编译那些库文件了。

步骤2:下载安装MTL4。官网下载页面:http://www.simunova.com/node/145,MTL-4 all in one那一行随便下载哪一个(我下载的是第一个:MTL-all-4.0.7787-Linux.tar.gz),然后一路解压直到目录MTL-all-4.0.7767-Linux出现,依次进入目录,找到\MTL-all-4.0.7767-Linux\usr\include\boost\numeric目录,将它里面的四个子目录itl,mtl,linear-algebra,meta-math全部拷贝到步骤1中所安装的Boost下面的numeric目录(即C:\Program
Files\boost\boost_1_44\boost\numeric)下。

测试:

// File: vector1.cpp

#include <iostream>
#include <boost/numeric/mtl/mtl.hpp>

int main(int, char**)
{
    using namespace mtl;

    // Define dense vector of doubles with 10 elements all set to 0.0.
    dense_vector<double>   v(10, 0.0);

    // Set element 7 to 3.0.
    v[7]= 3.0;

    std::cout << "v is " << v << "\n";
    return 0;
}

抱歉!评论已关闭.