two way kernel matrix puncturing