主题:请教精度问题
do i = 1, n
x(i) = dot_product ( v(i,1:k+1), y(1:k+1) )
end do
的计算结果
与我将它做成一个函数
interface operator(*)
module procedure v_mat_vec_product
end interface
contains
function v_mat_vec_product(mat,vec) result(res)
implicit none
real(krp),intent(in) :: mat(:,:), vec(:)
real(krp) :: res(size(mat,1))
integer :: i
do i=1, size(mat,1)
res(i) = dot_product(mat(i,:),vec)
enddo
end function v_mat_vec_product
然后用
X = V*Y
的结果 后几位不一样,请问是咋回事
x(i) = dot_product ( v(i,1:k+1), y(1:k+1) )
end do
的计算结果
与我将它做成一个函数
interface operator(*)
module procedure v_mat_vec_product
end interface
contains
function v_mat_vec_product(mat,vec) result(res)
implicit none
real(krp),intent(in) :: mat(:,:), vec(:)
real(krp) :: res(size(mat,1))
integer :: i
do i=1, size(mat,1)
res(i) = dot_product(mat(i,:),vec)
enddo
end function v_mat_vec_product
然后用
X = V*Y
的结果 后几位不一样,请问是咋回事