program test1 use kinds use forpca, only: tpca implicit none real(rk), dimension(:,:), allocatable :: matrix real(rk), dimension(:,:), allocatable :: matrix_app real(rk), dimension(:,:), allocatable :: coeff real(rk), dimension(:,:), allocatable :: score real(rk), dimension(:), allocatable :: latent real(rk), dimension(:), allocatable :: explained type(tpca) :: p allocate(matrix(5,2)) matrix(1, 1) = 0.123_rk matrix(1, 2) = 0.456_rk matrix(2, 1) = 0.789_rk matrix(2, 2) = 0.234_rk matrix(3, 1) = 0.567_rk matrix(3, 2) = 0.890_rk matrix(4, 1) = 0.123_rk matrix(4, 2) = 0.678_rk matrix(5, 1) = 0.901_rk matrix(5, 2) = 0.345_rk call p%pca(matrix, 2, 'svd', coeff, score, latent, explained, matrix_app) #if defined(USE_COARRAY) if (this_image() == 1) then print*, p%matrix_app(1, 1) print*, p%matrix_app(1, 2) print*, p%matrix_app(2, 1) print*, p%matrix_app(2, 2) print*, p%matrix_app(3, 1) print*, p%matrix_app(3, 2) print*, p%matrix_app(4, 1) print*, p%matrix_app(4, 2) print*, p%matrix_app(5, 1) print*, p%matrix_app(5, 2) end if #else print*, p%matrix_app(1, 1) print*, p%matrix_app(1, 2) print*, p%matrix_app(2, 1) print*, p%matrix_app(2, 2) print*, p%matrix_app(3, 1) print*, p%matrix_app(3, 2) print*, p%matrix_app(4, 1) print*, p%matrix_app(4, 2) print*, p%matrix_app(5, 1) print*, p%matrix_app(5, 2) #endif call p%finalize() end program test1