adding PyCUDA implementation for tensor product