⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rank_1_symm_sparse.cc

📁 Matrix_Template_Library.rar c++矩阵模块库函数
💻 CC
字号:
#include "mtl/matrix.h"#include "mtl/mtl.h"#include "mtl/utils.h"#include "mtl/linalg_vec.h" /*  Expected output:  Matrix A:3x3[[100,200,300],[200,400,500],[300,500,600]]Vector X:[1,2,3,]a * x * x^T + A:3x3[[101,202,303],[202,404,506],[303,506,609]]*/using namespace mtl;typedef matrix< double , symmetric<lower>,                 compressed<int,external, index_from_one>, column_major>::type Matrix;typedef dense1D<double> Vec;                                     intmain(){  const int N = 3;  const double alpha = 1;  //        100  200  300        1  //    A = 200  400  500    x = 2  //        300  500  600        3  double values[] = { 100, 200, 300, 200, 400, 500, 300, 300, 600 };  int ptrs[] = { 1, 4, 7, 10};  int indices[] = { 1, 2, 3, 1, 2, 3, 1, 2, 3};    Matrix A(N, N, N*N, values, ptrs, indices);  Vec y(N),x(N);  //initialize X  for (int i=0;i<N;++i)    x[i]=i+1;  //print a x y  std::cout << "Matrix A:" << std::endl;  print_all_matrix(A);  std::cout << "Vector X:" << std::endl;  print_vector(x);  //do the update  rank_one_update(A, scaled(x, alpha), x);   //print result  std::cout << "a * x * x^T + A:";  print_all_matrix(A);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -