This paper studies iterative learning control (ILC) for under-determined and over-determined systems, i.e., systems for which the control action to produce the desired output is not unique, or for which exact tracking of the desired trajectory is not feasible. For both cases we recommend the use of the pseudoinverse or its approximation as a learning operator. The Tikhonov regularization technique is discussed for computing the pseudoinverse to handle numerical instability. It is shown that for over-determined systems, the minimum error is never reached by a repetition invariant learning controller unless one knows the system exactly. For discrete time uniquely determined systems it is indicated that the inverse is usually ill-conditioned, and hence an approximate inverse based on a pseudoinverse is appropriate, treating the system as over-determined. Using the structure of the system matrix, an enhanced Tikhonov regularization technique is developed which converges to zero tracking error. It is shown that the Tikhonov regularization is a form of linear quadratic ILC, and that the regularization approach solves the important practical problem of how to intelligently pick the weighting matrices in the quadratic cost. It is also shown how to use a modification of the Tikhonov-based quadratic cost in order to produce a frequency cutoff. This robustifies good learning transients, by reformulating the problem as an over-determined system.