Displaying 2 results from an estimated 2 matches for "subtractconst".
2023 Apr 12
1
Matrix scalar operation that saves memory?
One possibility might be to use Rcpp.
An R matrix is stored in contiguous memory, which can be considered as a
vector.
Define a C++ function which operates on a vector in place, as in the
following:
library(Rcpp)
cppFunction(
'void subtractConst(NumericVector x, double c) {
for ( int i = 0; i < x.size(); ++i)
x[i] = x[i] - c;
}')
Try this function out on a matrix. Here we define a 5x2 matrix
m <- matrix(150.5 + 1:10, nrow=5)
print(m)
[,1] [,2]
[1,] 151.5 156.5
[2,] 152.5 157.5
[3,] 153.5 158.5
[4,] 154.5 159.5
[5,...
2023 Apr 12
1
Matrix scalar operation that saves memory?
I doubt that R's basic matrix capabilities can handle this, but have a look
at the Matrix package, especially if your matrix is some special form.
Bert
On Tue, Apr 11, 2023, 19:21 Shunran Zhang <szhang at ngs.gen-info.osaka-u.ac.jp>
wrote:
> Hi all,
>
> I am currently working with a quite large matrix that takes 300G of
> memory. My computer only has 512G of memory. I