Изменяя свой код?В основном нет.crossprod
напрямую вызывает скомпилированный код, вам будет сложно найти какой-либо выигрыш в производительности, и любое, что вы найдете, будет небольшим.
(Если исключить обстоятельства, насколько плотна ваша матрица? Если выполучил много нулей, тогда может помочь использование разреженной матрицы. Я также предполагаю, что ваша матрица не просто постоянная матрица, как в вашем примере.)
Вы также можете использовать Revolution R Open от Microsoft, котораяскомпилирован для использования другого BLAS или скомпилируйте R самостоятельно с более оптимизированным BLAS.Эта ссылка содержит подробности об этом .Для чисто линейных алгебраических манипуляций это может иметь довольно большой эффект. Этот сайт показывает порядок ускорений для умножения матриц, разложения Холецкого и т. Д.