`FactorLoadingMatrices.loading_matrix`

— MethodConstructs a matrix of loadings to map `nfactor`

latent variables to `nx`

observed variables. The upper triangle is all zeros to enfactororce linear independence among the loading vectors.

**Arguments**

`values::AbstractVector`

: vector of values to put in the nonzero lower triangle. They are

filled in order running down the columns from left to right.

`nx::Integer`

: Dimension of the data, i.e. the number of rows in the loading matrix`nfactor::Integer`

: Number of factors, i.e. the number of columns in the loading matrix

`FactorLoadingMatrices.nnz_loading`

— MethodGives the number of nonzero entries (i.e. the number of entries in the lower triangle) of the loading matrix for the specified data dimension `nx`

and number of factors `nfactor`

.

`FactorLoadingMatrices.varimax`

— Method`varimax(A; gamma = 1.0, minit = 20, maxit = 1000, reltol = 1e-12)`

VARIMAX perform varimax (or quartimax, equamax, parsimax) rotation to the column vectors of the input matrix.

**Input Arguments**

`A::Matrix{TA}`

: input matrix, whose column vectors are to be rotated. d, m = size(A).`gamma`

: default is 1. gamma = 0, 1, m/2, and d(m - 1)/(d + m - 2), corresponding to quartimax, varimax, equamax, and parsimax.`minit::Int`

: default is 20. Minimum number of iterations, in case of the stopping criteria fails initially.`maxit::Int`

: default is 1000. Maximum number of iterations.`reltol::Float64`

: default is 1e-12. Relative tolerance for stopping criteria.

**Output Argument**

`B::Matrix{Float64}`

: output matrix, whose columns are already been rotated.

Implemented by Haotian Li, Aug. 20, 2019