%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% MAP05 - Metodos Matriciais Computacionais - PPGMAp UFRGS %% Mat01050 - Algebra Matricial Computacional - DMPA UFRGS %% Tecnicamente, esse nao eh um script, pois nao pode ser executado. Entenda como um conjunto de instrucoes que facilmente podem ser carregados com o mouse. Tarefa: usando fortran90 para chamar uma rotina BLAS Objetivo: elucidar chamada direta Fortran90 --> BLAS edite o arquivo: dnrm2_d.f90 program dnrm2_d ! serah um driver para rotina (funcao) dnrm2 da biblioteca BLAS integer,parameter :: nmax=2000 real (kind=8) :: x(nmax),norma integer :: i,n real (kind=8) :: dnrm2 external dnrm2 write(*,'(a)',advance='no') 'Qual o valor de n, o numero de componentes ? ' read(*,*) n write(*,'(a)',advance='no') 'Qual o valor das componentes, linha a linha ? ' do i=1,n read(*,*) x(i) end do norma=dnrm2(n,x,1) write(*,'(a,f10.6)') 'A norma Euclidiana (dnrm2) eh:', norma end program whereis libblas : /usr/lib/libblas.so compile com gfortran dnrm2_d.f90 -lblas -o dnrm2_d execute com ./dnrm2_d %% %% Feito JBC 10Set2012 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%