Program g03bafe ! G03BAF Example Program Text ! Mark 24 Release. NAG Copyright 2012. ! .. Use Statements .. Use nag_library, Only: g03baf, nag_wp, x04caf ! .. Implicit None Statement .. Implicit None ! .. Parameters .. Integer, Parameter :: nin = 5, nout = 6 ! .. Local Scalars .. Real (Kind=nag_wp) :: acc, g Integer :: i, ifail, iter, k, ldfl, ldr, lwk, & maxit, nvar Character (1) :: stand ! .. Local Arrays .. Real (Kind=nag_wp), Allocatable :: fl(:,:), flr(:,:), r(:,:), wk(:) ! .. Executable Statements .. Write (nout,*) 'G03BAF Example Program Results' Write (nout,*) Flush (nout) ! Skip heading in data file Read (nin,*) ! Read in the problem size Read (nin,*) nvar, k, g, stand, acc, maxit ldfl = nvar ldr = k lwk = 2*nvar + k*k + 5*(k-1) Allocate (fl(ldfl,k),flr(ldfl,k),r(ldr,k),wk(lwk)) ! Read in loadings Read (nin,*)(fl(i,1:k),i=1,nvar) ! Compute rotations ifail = 0 Call g03baf(stand,g,nvar,k,fl,ldfl,flr,r,ldr,acc,maxit,iter,wk,ifail) ! Display results ifail = 0 Call x04caf('General',' ',nvar,k,flr,ldfl,'Rotated factor loadings', & ifail) Write (nout,*) Flush (nout) ifail = 0 Call x04caf('General',' ',k,k,r,ldr,'Rotated matrix',ifail) End Program g03bafe