c++ Armadillo: what does “norm_dot” do?
-
02-06-2021 - |
Question
What is this function doing? It states it is the normalized version of the dot product, which I presumed meant
func norm_dot(A,B) = dot(A,B) / ||B||^2
but
vec A(3,1) ; A.randu() ;
vec B(3,1) ; B.randu() ;
double dot1 = dot(A,B) / arma::accu(arma::square(B)) ;
double dot2 = norm_dot(A,B) ;
dot1 != dot2
Solution
The normalised dot product would be
dot(A,B)/(|A||B|)
Your expression only works for |A|=|B|
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow