#include "GMath.h" #include "CArrayBuffer.h" #include "CDataView.h" #include "CFloat32Array.h" int main() { /* matrix P = (p1, p2, p3, ......, pn) matrix A; A * P = (A*p1, A*p2, A*p3, ......, A*pn) */ float a[] = { 3, -1, 0, 4, -1, 0, -1, 0, 0 }; GMatrix A(3, 3, a); float p[] = { 1, 2, 3, 1, 2, 3, 1, 2, 3 }; GMatrix P(3, 3, p); //模拟P矩阵的第二列 float x[] = { 2, 2, 2 }; GMatrix X(3, 1, x); cout << A * P << endl; cout << A * X << endl; /* matrix P = (p1, p2, p3, ......, pn) vector v = (v1, v2, v3, ......, vn) P * V = (p1 * v1) + (p2 * v2) + (p3 * v3) + ...... + (pn * vn) */ GVector c1 = A.GetColVec(0); GVector c2 = A.GetColVec(1); GVector c3 = A.GetColVec(2); GVector ret = c1 * X[0][0] + c2 * X[1][0] + c3 * X[2][0]; cout << ret << endl; return 0; }