MTL LU 分解示例

原创 2005年03月04日 12:32:00

//-*-c++-*-----------------------------------------------------------------
//
//  A simple LU factorization algorithm written using MTL
//  The example matrix is the same as the getrf example, which
//  is the LAPACK version of LU factorization.
//
//-------------------------------------------------------------------------

#include "mtl/lu.h"
#include "mtl/matrix.h"
#include "mtl/dense1D.h"
#include "mtl/utils.h"

/*
  Sample output:
 
  3x3
  [
  [1,2,2],
  [2,1,2],
  [2,2,1]
  ]
  3x3
  [
  [2,1,2],
  [0.5,1.5,1],
  [1,0.666667,-1.66667]
  ]
  [2,2,3,]

也就是,
pivot =
[2,0,0,]
[0,2,0,]
[0,0,3,]

L=
[2*2,0,0],
[0.5,1.5*2,0],
[1,0.666667,-1.66667*3]

U=
  [1,1,2],
  [0,1,1],
  [0,0.666667,1]
 
 

 
  */

int
main()
{
  using namespace mtl;
  //begin
  typedef matrix<double,
                 rectangle<>,
                 dense<external>,
                 column_major>::type Matrix;

  const Matrix::size_type N = 3;
  double da [] = { 1, 2, 2, 2, 1, 2, 2, 2, 1 };

  Matrix A(da, N, N);
  dense1D<int> pivots(N, 0);
  //end
  print_all_matrix(A);
  //begin
  lu_factor(A, pivots);
  //end
  print_all_matrix(A);

  print_vector(pivots);

  return 0;
}

Matlab 数值计算小示例。主要为牛顿迭代法、LU分解法、拉格朗日插值、牛顿插值法

前言:此文为去年我替人做的一个课题,觉得比较简洁,图形也比较美观,因此放在博文里数据源我放到了百度云盘高脚杯数据源 有兴趣的可以下载数据,跑程序试一下。也可以单独看看代码,看下实现过程。主函数 %...

eoj1041 矩阵的LU分解

//仅对高斯消元过程中不发生行交换的情况适用。#include #include #include #include #include #include using namespace ...

LU下三角分解法

  • 2013年05月11日 15:34
  • 2KB
  • 下载

带状对角矩阵的LU分解及回代求解算法实现

算法名称:带状对角矩阵的LU分解及回代求解   算法描述:        分解主要是使用笔者前面几篇文章提到过的Crout方法。因为不可能把一个带状对角矩阵A的LU分解也像其压缩形式本是一样紧凑...

LU分解 数值分析

  • 2011年12月30日 16:42
  • 2KB
  • 下载

LU分解Doolittle法

  • 2010年04月20日 10:12
  • 1KB
  • 下载

Gauss消去,LU分解法,追赶法解线性方程组

解: Gauss消去法: package shuzhifenxi; /*Gauss消去求解方程组*/ import java.util.Scanner; public class Exa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MTL LU 分解示例
举报原因:
原因补充:

(最多只允许输入30个字)