We present the problem of Independent Components Analysis (ICA) and review three major approaches as described by Comon [9], Amari et al. [2], and Bell and Sejnowski [5]. We cast all three in a common notational framework, point out their strengths and weaknesses, and show how they are related to each other. We then go on to suggest several empirical studies to further investigate the numerical behavior of the algorithms. Finally, we present a number of novel extensions/applications of ICA. The most interesting of these is our notion of \conditionally independent components analysis,” in which we propose factoring the conditional density p(xjy) to greatly reduce the amount of data needed to accurately model a scaled version of p(yjx).