create different type matrix