Canonical correlation methods are a family of statistical methods for the analysis of correlation between two sets of variables. The standard technique for solving canonical correlation analysis problems is based on an eigenvalue problem. The canonical solution consists of a pair of canonical variables and the corresponding canonical correlation. The first pair of canonical variables has the largest canonical correlation, the second pair of canonical variables has the second largest canonical correlation, and so on. The original canonical correlation analysis was developed to examine linear relationships between two sets of variables. In order to increase the flexibility of the original method, several extensions of canonical correlation analysis have been proposed. Two extensions will be discussed in some detail, restricted canonical correlation analysis and restricted kernel canonical correlation analysis. The former examines linear relationships and the latter non-linear relationships. The standard technique for solving the two restricted problems is limited to the first pair of canonical variables. The search process has an exponential time complexity and even problems with a few tens of variables cannot be solved in a feasible time. In this doctoral dissertation we propose an alternative technique for solving the two restricted problems. The proposed alternative technique is based on the alternating least-squares and regularization. Combining both, we were able to solve the two restricted problems with tens of thousands of variables in a feasible time. The proposed alternative technique was implemented as several algorithms in Python. The algorithms were successfully applied to the analysis of TIMSS international assessment data and to the problem of cross-language information retrieval.