настроить диагональную матрицу быстрее? - PullRequest
0 голосов
/ 24 октября 2019

Вызов diag(x), по-видимому, очень медленный. Нет ли более быстрого способа установить диагональную матрицу? Это кажется довольно простой операцией, но R занимает вечность.

Кроме того, дальнейшее использование диагональной матрицы в умножениях также чрезвычайно медленное. Так что, если бы я хотел использовать разреженные матрицы, есть ли более быстрый способ установить диагональную разреженную матрицу?

1 Ответ

2 голосов
/ 24 октября 2019

Я понятия не имею, что означает "слишком медленный", но

Matrix::Diagonal(n=100)

создаст единичную матрицу 100x100, а

Matrix::Diagonal(x=1:100)

создастразреженная диагональная матрица с записями 1, 2, ... 100

...