uulm's Blog
一个数值求导 C++ 类 -- derivative in c++
做数值优化的时候,导数是必不可少的。为了快速验证某些算法,实现了一个数值求导类,以配合传统的 Levenberg-Marquardt/Powell's Dogleg 等算法做快速开发。当然,只是为了节省时间,真正需要的时候还是乖乖提供导数的好,尽管很容易出错。
unzip 解压乱码问题
zip 文件是 windows 下产生的,里边存在中文,直接解压文件名会产生乱码。
解决方法是:
export LANG=C 7z x filename.zip convmv -f cp936 -t utf8 -r --notest ./*
C++ 中的 CRTP 手法
CRTP (curiously recurring template pattern) 是指类 C 继承另外一个使用类 C 具现的模板类这种手法。
使用 cublas 作矩阵转置
cublas 默认的矩阵内存布局是 colunm-major 的,用 c/c++ 调用做矩阵转置时需要一些技巧:
c/c++ 中直接引用 blas 做矩阵乘法
c/c++ 中矩阵按照 row-major 存储,而 blas/cublas 则假定矩阵是按照 column-major 存储,如果需要调用 blas/cublas 做矩阵乘法,那么应该怎么做呢?