vector and matrix operation implemented by golang