polynomial update