program matrix use fgsl implicit none integer(fgsl_size_t), parameter :: n = 10, m = 3 integer(fgsl_size_t) :: i, j integer(fgsl_int) :: status type(fgsl_matrix) :: mat real(fgsl_double), target :: fmat(m, n) real(fgsl_double), pointer :: pfm(:,:) ! mat = fgsl_matrix_init(type=1.0_fgsl_double) do i=1, n do j=1, m fmat(j, i) = 0.23_fgsl_double + & 100._fgsl_double * dble(i-1) + dble(j-1) end do end do status = fgsl_matrix_align(fmat, m, m, n, mat) status = fgsl_matrix_align(pfm, mat) do i=1, size(pfm(1,:)) do j=1, size(pfm(:,1)) write(6, '(''mat('',I2,'','',I2,'') = '',F6.2)') j, i, pfm(j,i) end do end do end program matrix