1. A method for demodulating data from a channel, comprising: receiving a priori probability values for symbols transmitted across the channel, each symbol decomposable into a first symbol component and a second symbol component; in accordance with the a priori probability values, determining a first set of Monte Carlo samples of the first symbol components weighted with respect to a probability distribution of the first symbol components and determining a second set of Monte Carlo samples of the second symbol components, where the first symbol components and the second symbol components are sampled independently; estimating a posteriori probability values for the symbols based on the first and second sets of Monte Carlo samples, and wherein the weighted sets of Monte Carlo samples are determined by: sequentially iterating on a spatial domain of transmit antennas where the probability distribution of the first symbol components and the second symbol components is with respect to received signals after a coordinate rotation obtained by QR decomposition enumerating first and second symbol component samples for a first portion of the spatial domain of the transmit antennas in accordance with a deterministic computation of the probability distributions of the first and second symbol components; updating importance weights for the first symbol components using the enumerated first symbol component samples, preserving only a subset of sequences of first symbol components based on the importance weights for the first symbol components; updating importance weights for the second symbol components using the enumerated second symbol component samples, preserving only a subset of sequences of second symbol components based on the importance weights for the second symbol components; wherein the updating steps are performed while sequentially iterating on a second portion of the spatial domain of the transmit antennas.