Fundamental distinction: Deterministic reweighting adjusts weights in a single pass per dimension, while IPF iteratively refines weights until all marginal constraints are simultaneously satisfied.
Approach: Sequential 1D adjustment
# Pseudocode
for each dimension:
for each record:
weight *= (target_marginal / current_marginal)
Approach: Cyclic multi-dimensional convergence
# Pseudocode
while not converged:
for each dimension:
adjust weights proportionally
check all marginal differences