My research ranges from pure theoretical analysis, basic algorithmic development to practical applications I use mathematical analysis mainly for the purpose of developing algorithms to solve problems in science and engineering. Sometimes, though, I do it just because it is fun. Theoretical elegance and practical usefulness can go together, and the design of algorithms can be beautiful. Theory is the soul of what I do, and practical needs are what motivate me.  One thing that I very much enjoy doing these days is to help people to speed up their simulation codes from a few times to a few orders of magnigudes (for very large scale problems).  In all my work, I try to strike a balance between rigor versus practicality.