Настройка здесь.
X: 6000x8000 не разреженная матрица
B: разреженный вектор 8000x1 с десятками ненулевых элементов
d: положительное число
M: является разреженным X'X, то есть пороговое значение элементов, меньших d по величине, должно быть равно 0.
Остались только сотни элементов. Таким образом, (X '* X - M) имеет много мелких элементов и не является разреженным.
Я хочу вычислить вектор y = (X '* X - M) * B и могу переписать как y = X' * (X * B) - M * B. Первая часть достаточно быстрая, но вторая включает в себя X '* X и очень очень медленная.
Может ли кто-нибудь помочь мне ускорить это вычисление?
Спасибо миллион!