CGAL中数值求解示例—OpenNL

CGAL中数值求解示例OpenNL

转载自:http://blog.csdn.net/jingwenlai_scut/article/details/2111087

 

    在CGAL中,对线性方程组的求解默认是使用OpenNL,当然也可以结合Taucs库进行求解。本文记录的是利用OpenNL进行数值求解的例子。OpenNL的整个库的源代码

可以在$(CGALROOT)/OpenNL/中找到。下面的程序举例了如何使用OpenNL求解IX=[3 4]^T.

 

Source code:

#include <CGAL/basic.h>

 

#include <CGAL/OpenNL/linear_solver.h>

using namespaceCGAL;

#include <iostream>

using namespacestd;

 

 

typedef OpenNL::DefaultLinearSolverTraits<float>SparseLA;

typedef SparseLA::Vector Vector;

typedef SparseLA::Matrix Matrix;

 

int main()

{

  Matrix A(2,2);

  Vector X(2);

  Vector B(2);

 

  A.set_coef(0,0,1);

  A.set_coef(0,1,0);

  A.set_coef(1,0,0);

  A.set_coef(1,1,1);

 

  B[0] = 3, B[1] = 4;

  X[0] = X[1] = 0;

 

  float d;

  SparseLA m_linearAlgebra;

  m_linearAlgebra.linear_solver(A,B,X,d);

 

  cout<<"The result is : "<<endl;

  cout<<X[0]<<"  "<<X[1]<<endl;

 

  return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值