编程调试

说实话最近调试程序整的有点恶心了。不过正经工作还是要干的。没办法,硬着头皮往前走。

 

实现gaussian-wishart分布的采样和likelihood的计算,predictive的计算。在计算过程中,我用到了矩阵的乘法和求逆矩阵,这两个小函数也是让我出错的一个地方,在求逆矩阵时,调用的函数将原来矩阵改变了。这个我没注意到,其实,我采用的程序写的不好,一般函数输入都不改变输入的,如果要有值的话,一般放在输出或者返回值了。可找的程序这样写的,我这个大意了。求行列式的地方也是同样的错误出现。

 

 

还有,在计算gamma函数时,如果输入非常大的话,得到的gamma函数值会趋于无穷大。这个时候,如果需要两个伽马函数相除,需要将函数展开后,再计算,这样一些因子消去后,计算得到的不再是无穷大/无穷大,而是合理的一些值了。

 

其实,现在觉得对gaussian分布还是了解很少的,原来只知道计算了。根本不知道很多分布的具体使用和实际意义。现在说来真是惭愧。

 

 

你可能感兴趣的:(编程,工作)