discrete differential operator