1. Department of Applied Mathematics University of Waterloo, Waterloo N2L 3G1, ON, Canada.
2. Department of Applied Mathematics University of Waterloo, Waterloo N2L 3G1, ON, Canada, and Department of Computer Science, University of British Columbia, Vancouver V6T 1Z4, BC, Canada.