Created by: Haichao-Zhang
split dotmul_projection and dotmul_operator and fixed a few with bugs related to dotmul_operator