【问题标题】:c++ Armadillo: what does "norm_dot" do?c ++犰狳:“norm_dot”做什么?
【发布时间】:2012-04-23 19:55:02
【问题描述】:

这个函数在做什么?它声明它是点积的标准化版本,我认为这是

func norm_dot(A,B) = dot(A,B) / ||B||^2

但是

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

【问题讨论】:

    标签: c++ armadillo dot-product


    【解决方案1】:

    标准化的点积是

    dot(A,B)/(|A||B|)
    

    您的表达式仅适用于 |A|=|B|

    【讨论】:

    • 我的错...谢谢...我正在实施一篇论文,并且一直在执行大量 dot(A,B)/B^2 类型的操作,并很快在 Arma 文档中看到了 norm_dot寻找别的东西,并认为这是我正在做的操作(我不是)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多