使用犰狳线性代数包存储矩阵需要多少内存?
How much memory is required to store a matrix using the armadillo linear algebra package?
我分别对大小为 100*100 和 1*1 的矩阵使用 sizeOf 运算符得到相同的值。
mat A(100,100),B(1,1);
A.randu();
B.randu();
cout<<"Memory requested for A:"<<sizeOf(A);
cout<<"Memory requested for B:"<<sizeOf(B);
输出:
A:160
请求的内存
B:160
请求的内存
那么我如何获得每个变量 A、B 的代码所需的实际内存。
mat
类型存储双精度数组,因此要获取数组的字节大小:
A.n_elem * sizeof(double)
A
使用的内存总量为sizeof(A) + (A.n_elem * sizeof(double))
。
我分别对大小为 100*100 和 1*1 的矩阵使用 sizeOf 运算符得到相同的值。
mat A(100,100),B(1,1);
A.randu();
B.randu();
cout<<"Memory requested for A:"<<sizeOf(A);
cout<<"Memory requested for B:"<<sizeOf(B);
输出:
A:160
请求的内存
B:160
那么我如何获得每个变量 A、B 的代码所需的实际内存。
mat
类型存储双精度数组,因此要获取数组的字节大小:
A.n_elem * sizeof(double)
A
使用的内存总量为sizeof(A) + (A.n_elem * sizeof(double))
。