Matrix Shadow:Lightweight CPU/GPU Matrix and Tensor  Template Library in C++/CUDA