使用犰狳线性代数包存储矩阵需要多少内存?

时间:2015-04-19 01:17:39

标签: c++ armadillo

对于大小为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的代码所需的实际内存。

1 个答案:

答案 0 :(得分:2)

mat类型存储一个双精度数组,所以要将数组的大小作为字节:

A.n_elem * sizeof(double)

A使用的内存总量为sizeof(A) + (A.n_elem * sizeof(double))