A method comprising: at a first device comprising a first plurality of antennas: receiving at the first plurality of antennas a plurality of uplink signal streams that were beamformed from a second device to the first device; computing a plurality of downlink beamforming weight vectors from signals resulting from reception at the first plurality of antennas of the plurality of signal streams beamformed by the second device; applying the plurality of downlink beamforming weight vectors to a plurality of downlink signal streams for simultaneous beamform transmission via the first plurality of antennas of the first device to the second device; at the second device comprising a second plurality of antennas: receiving at the second plurality of antennas the plurality of downlink signal streams that were beamformed by the first device; computing a plurality of uplink beamforming weight vectors from signals resulting from reception at the second plurality of antennas of the plurality of downlink signal streams beamformed by the first device; applying the plurality of uplink beamforming weight vectors to a plurality of uplink signal streams for simultaneous beamform transmission via the second plurality of antennas of the second device to the first device. at a first device comprising a first plurality of antennas: receiving at the first plurality of antennas a plurality of uplink signal streams that were beamformed from a second device to the first device; computing a plurality of downlink beamforming weight vectors from signals resulting from reception at the first plurality of antennas of the plurality of signal streams beamformed by the second device; applying the plurality of downlink beamforming weight vectors to a plurality of downlink signal streams for simultaneous beamform transmission via the first plurality of antennas of the first device to the second device; at the second device comprising a second plurality of antennas: receiving at the second plurality of antennas the plurality of downlink signal streams that were beamformed by the first device; computing a plurality of uplink beamforming weight vectors from signals resulting from reception at the second plurality of antennas of the plurality of downlink signal streams beamformed by the first device; applying the plurality of uplink beamforming weight vectors to a plurality of uplink signal streams for simultaneous beamform transmission via the second plurality of antennas of the second device to the first device. receiving at the first plurality of antennas a plurality of uplink signal streams that were beamformed from a second device to the first device; computing a plurality of downlink beamforming weight vectors from signals resulting from reception at the first plurality of antennas of the plurality of signal streams beamformed by the second device; applying the plurality of downlink beamforming weight vectors to a plurality of downlink signal streams for simultaneous beamform transmission via the first plurality of antennas of the first device to the second device; at the second device comprising a second plurality of antennas: receiving at the second plurality of antennas the plurality of downlink signal streams that were beamformed by the first device; computing a plurality of uplink beamforming weight vectors from signals resulting from reception at the second plurality of antennas of the plurality of downlink signal streams beamformed by the first device; applying the plurality of uplink beamforming weight vectors to a plurality of uplink signal streams for simultaneous beamform transmission via the second plurality of antennas of the second device to the first device. receiving at the second plurality of antennas the plurality of downlink signal streams that were beamformed by the first device; computing a plurality of uplink beamforming weight vectors from signals resulting from reception at the second plurality of antennas of the plurality of downlink signal streams beamformed by the first device; applying the plurality of uplink beamforming weight vectors to a plurality of uplink signal streams for simultaneous beamform transmission via the second plurality of antennas of the second device to the first device.