I have some people to make choices on two sets A(a1, a2, ..., an) and B(b1, b2,..., bm). That is, each person shall select a few elements from A and a few elements from B. Then I want to find out if A and B have correlations, particularly if any elements of A are correlated to any elements of B. How could I do it? Many thanks.
That sounds like a good application for Canonical Correlations Analysis. If you use R, you could check out the yacca package (Yet Another Canonical Correlations Analysis). The manual that comes with it explains things well.
CCA tries to find a linear combination of the X variables (Matrix 1) and a another linear combination of the Y variables (Matrix 2) with maximal correlation. You can examine the coefficients of these linear combinations to see which variables of X weight high with those of Y. You can do some significance testing as well (based on eigenvalues, as in PCA), but it is more of an exploratory tool in my view.
There is a green Sage book on CCA that explains the mechanics very well. "Canonical Correlations Analysis: Quantitative Applications in the Social Sciences"
CCA looks at correlations between the variables themselves. If you believe the correlations exist at the level of latent factors, you need to get into structural equation modelling. CCA would be a place to start, however.