- Предположим,
A
- матрица R.Если я хочу выполнить построчное умножение с элементами из вектора vec
, я мог бы сделать:
sweep( A, 1, vec, "*" )
.
Существует ли подобный, но эффективный способ сделать то же самое, если A
был big.matrix
R-объектом?
Моя главная цель заключается в следующем: у меня есть две большие матрицы размерности ~
3500x3500
элементов,
A
и
B
.Я хочу сделать следующую операцию:
B %*% sweep( A, 1, vec, "*" )
.
Я должен выполнить эти умножения матриц на протяжении многих итераций, но только vec
изменяется на каждой итерации.Поэтому я подумал, что пакеты big.matrix / bigalgebra могут предлагать удобные способы для такого умножения матриц, но с этим умножением строк нужно разобраться.(Я понимаю, что могу преобразовать записи vec
в диагональ big.matrix и выполнить полное умножение, но я бы предпочел иметь дело только с диагональными записями, как описано выше.) Ау, идеи / есть ли другие альтернативные пакеты для выполнениятак же?
Я очень ценю любую помощь!Спасибо!