Согласно странице 5 в этого PDF , sum(a*b)
- это команда R, чтобы найти скалярное произведение векторов a
и b
, а sqrt(sum(a * a))
- это команда R, чтобы найти норма вектора a
, а acos(x)
- команда R для арккосинуса. Отсюда следует, что R-код для расчета угла между двумя векторами равен
theta <- acos( sum(a*b) / ( sqrt(sum(a * a)) * sqrt(sum(b * b)) ) )
Из электронных писем, найденных здесь и здесь , я извлек следующие заметки:
Учитывая приложение my_app ', который ссылается на общий объект
my_sobj 'и был скомпилирован с флагом компиляции' -g ':
#set the environment variable LD_PROFILE to the name of the shared obj
export LD_PROFILE=my_obj
#run your application
my_app
#this should create a file /var/tmp/my_sobj.profile
#now run sprof
sprof my_sobj my_sobj.profile
Это дает информацию профиля для общей библиотеки, а не для my_app