Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions hsl_subset/hsl_ma48/hsl_ma48r.f90
Original file line number Diff line number Diff line change
Expand Up @@ -149,14 +149,14 @@ subroutine ma48_initialize_real(factors,control)
end subroutine ma48_initialize_real

subroutine ma48_analyse_real(matrix,factors,control,ainfo,finfo, &
perm,lastcol)
perm,endcol)
type(zd11_type), Intent(in) :: matrix
type(ma48_factors), intent(inout) :: factors
type(ma48_control), intent(in) :: control
type(ma48_ainfo) :: ainfo
type(ma48_finfo), optional :: finfo
integer(ip_), intent(in), optional :: perm(matrix%m+matrix%n) ! Init perm
integer(ip_), intent(in), optional :: lastcol(matrix%n) ! last cols
integer(ip_), intent(in), optional :: endcol(matrix%n) ! last cols

IF ( control%lp >= 0 ) WRITE( control%lp, &
"( ' We regret that the solution options that you have ', /, &
Expand Down Expand Up @@ -233,7 +233,7 @@ subroutine ma48_special_rows_and_cols_real(factors,rank,rows,cols, &
end subroutine ma48_special_rows_and_cols_real

subroutine ma48_get_perm_real(factors,perm)
type(ma48_factors), intent(in), optional :: factors
type(ma48_factors), intent(in) :: factors
integer(ip_), intent(out) :: perm(:)
end subroutine ma48_get_perm_real

Expand Down
4 changes: 2 additions & 2 deletions hsl_subset/hsl_ma77/hsl_ma77r.f90
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ subroutine MA77_factor_solve_real(pos_def,keep,control,info,nrhs, &
call MA77_unavailable( info, control, 'ma77_factor_solve' )
end subroutine MA77_factor_solve_real

subroutine MA77_resid_real(nrhs,lx,x,lresid,resid,keep,control,info,anorm)
subroutine MA77_resid_real(nrhs,lx,x,lresid,resid,keep,control,info,anorm_bnd)
integer(ip_) :: nrhs
integer(ip_) :: lx
integer(ip_) :: lresid
Expand All @@ -310,7 +310,7 @@ subroutine MA77_resid_real(nrhs,lx,x,lresid,resid,keep,control,info,anorm)
type (MA77_keep), intent (inout) :: keep
type (MA77_control), intent (in) :: control
type (MA77_info), intent (inout) :: info
real(rp_),optional :: anorm
real(rp_),optional :: anorm_bnd
call MA77_unavailable( info, control, 'ma77_resid' )
end subroutine MA77_resid_real

Expand Down
27 changes: 16 additions & 11 deletions hsl_subset/hsl_ma86/hsl_ma86r.f90
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ subroutine MA86_analyse_real(n, ptr, row, order, keep, control, info)
! order(i) must hold position of i in the pivot sequence.
! On exit, holds the pivot order to be used by MA86_factor.
! For details of keep, control, info : see derived type descriptions
type(MA86_keep) :: keep
type(MA86_keep), intent(out) :: keep
type(MA86_control), intent(in) :: control
type(MA86_info), intent(inout) :: info

Expand All @@ -379,7 +379,7 @@ subroutine MA86_analyse_real(n, ptr, row, order, keep, control, info)
info%stat = 0
end subroutine MA86_analyse_real

subroutine MA86_factor_real(n, ptr, row, val, order, keep, control, info)
subroutine MA86_factor_real(n, ptr, row, val, order, keep, control, info, scale)
integer(ip_), intent(in) :: n ! order of A
integer(ip_), intent(in) :: row(:) ! row indices of lower triangular part
integer(ip_), intent(in) :: ptr(:) ! col pointers for lower triangular part
Expand All @@ -388,7 +388,8 @@ subroutine MA86_factor_real(n, ptr, row, val, order, keep, control, info)
! since the analyse phase)
type(MA86_keep), intent(inout) :: keep ! see description of derived type
type(MA86_control), intent(in) :: control ! see description of derived type
type(MA86_info) :: info ! see description of derived type
type(MA86_info), intent(out) :: info ! see description of derived type
real(rp_), optional, intent(inout) :: scale(*)

IF ( control%unit_error >= 0 ) WRITE( control%unit_error, &
"( ' We regret that the solution options that you have ', /, &
Expand All @@ -409,7 +410,7 @@ subroutine MA86_factor_real(n, ptr, row, val, order, keep, control, info)
end subroutine MA86_factor_real

subroutine MA86_factor_solve_one_real(n, ptr, row, val, order, keep, control,&
info, x)
info, x, scale)
integer(ip_), intent(in) :: n ! order of A
integer(ip_), intent(in) :: row(:) ! row indices of lower triangular part
integer(ip_), intent(in) :: ptr(:) ! col pointers for lower triangular part
Expand All @@ -418,7 +419,8 @@ subroutine MA86_factor_solve_one_real(n, ptr, row, val, order, keep, control,&
! since the analyse phase)
type(MA86_keep), intent(inout) :: keep ! see description of derived type
type(MA86_control), intent(in) :: control ! see description of derived type
type(MA86_info) :: info ! see description of derived type
type(MA86_info), intent(out) :: info ! see description of derived type
real(rp_), optional, intent(inout) :: scale(*)
real(rp_), intent(inout) :: x(keep%n) ! On entry, x must
! be set so that if i has been used to index a variable,
! x(i) is the corresponding component of the right-hand side.
Expand All @@ -443,7 +445,7 @@ subroutine MA86_factor_solve_one_real(n, ptr, row, val, order, keep, control,&
end subroutine MA86_factor_solve_one_real

subroutine MA86_factor_solve_mult_real(n, ptr, row, val, order, keep, &
control, info, nrhs, lx, x)
control, info, nrhs, lx, x, scale)
integer(ip_), intent(in) :: n ! order of A
integer(ip_), intent(in) :: row(:) ! row indices of lower triangular part
integer(ip_), intent(in) :: ptr(:) ! col pointers for lower triangular part
Expand All @@ -452,7 +454,8 @@ subroutine MA86_factor_solve_mult_real(n, ptr, row, val, order, keep, &
! since the analyse phase)
type(MA86_keep), intent(inout) :: keep ! see description of derived type
type(MA86_control), intent(in) :: control ! see description of derived type
type(MA86_info) :: info ! see description of derived type
type(MA86_info), intent(out) :: info ! see description of derived type
real(rp_), optional, intent(inout) :: scale(*)
integer(ip_), intent(in) :: nrhs ! number of right-hand sides to solver for
integer(ip_), intent(in) :: lx ! first dimension of x
real(rp_), intent(inout) :: x(lx,nrhs) ! On entry, x must
Expand All @@ -479,7 +482,7 @@ subroutine MA86_factor_solve_mult_real(n, ptr, row, val, order, keep, &
info%stat = 0
end subroutine MA86_factor_solve_mult_real

subroutine MA86_solve_one_real(x,order,keep,control,info,job)
subroutine MA86_solve_one_real(x,order,keep,control,info,job, scale)
type(MA86_keep), intent(inout) :: keep
real(rp_), intent(inout) :: x(keep%n) ! On entry, x must
! be set so that if i has been used to index a variable,
Expand All @@ -489,7 +492,8 @@ subroutine MA86_solve_one_real(x,order,keep,control,info,job)
integer(ip_), intent(in) :: order(:) ! pivot order. must be unchanged
! For details of keep, control, info : see derived type description
type(MA86_control), intent(in) :: control
type(MA86_info) :: info
type(MA86_info), intent(out) :: info
real(rp_), optional, intent(in) :: scale(*)
integer(ip_), optional, intent(in) :: job ! used to indicate whether
! partial solution required
! job = 0 or absent: complete solve performed
Expand All @@ -513,7 +517,7 @@ subroutine MA86_solve_one_real(x,order,keep,control,info,job)
info%stat = 0
end subroutine MA86_solve_one_real

subroutine MA86_solve_mult_real(nrhs,lx,x,order,keep, control,info,job)
subroutine MA86_solve_mult_real(nrhs,lx,x,order,keep, control,info,job, scale)
integer(ip_), intent(in) :: nrhs ! number of right-hand sides to solver for
integer(ip_), intent(in) :: lx ! first dimension of x
real(rp_), intent(inout) :: x(lx,nrhs) ! On entry, x must
Expand All @@ -526,7 +530,8 @@ subroutine MA86_solve_mult_real(nrhs,lx,x,order,keep, control,info,job)
! For details of keep, control, info : see derived type description
type(MA86_keep), intent(inout) :: keep
type(MA86_control), intent(in) :: control
type(MA86_info) :: info
type(MA86_info), intent(out) :: info
real(rp_), optional, intent(in) :: scale(*)
integer(ip_), optional, intent(in) :: job ! used to indicate whether
! partial solution required
! job = 0 or absent: complete solve performed
Expand Down
40 changes: 20 additions & 20 deletions hsl_subset/hsl_ma97/hsl_ma97r.f90
Original file line number Diff line number Diff line change
Expand Up @@ -238,13 +238,14 @@ subroutine analyse_real(check, n, ptr, row, akeep, &
end subroutine analyse_real

subroutine MA97_analyse_coord_real( n, ne, row, col, akeep, &
control, info, order)
control, info, order, val)
integer(ip_), intent(in) :: n, ne
integer(ip_), intent(in) :: row(:), col(:)
type (MA97_akeep), intent (out) :: akeep
type (MA97_control), intent(in) :: control
type (MA97_info), intent(out) :: info
integer(ip_), OPTIONAL, intent (inout) :: order(:)
real(rp_), optional, intent(in) :: val(:)

IF ( control%unit_error >= 0 .AND. control%print_level > 0 ) &
WRITE( control%unit_error, &
Expand All @@ -264,9 +265,9 @@ subroutine MA97_factor_real(matrix_type,val,akeep,fkeep,control,info, &
integer(ip_), intent(in) :: matrix_type
real(rp_), intent(in) :: val(*)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent (out) :: fkeep
type (MA97_fkeep), intent(inout) :: fkeep
type (MA97_control), intent (in) :: control
type (MA97_info), intent (inout) :: info
type (MA97_info), intent(out) :: info
real(rp_), intent(inout), optional :: scale(:)
integer(ip_), intent(in), optional :: ptr(akeep%n+1)
integer(ip_), intent(in), optional :: row(*)
Expand All @@ -284,16 +285,16 @@ subroutine MA97_factor_real(matrix_type,val,akeep,fkeep,control,info, &

end subroutine MA97_factor_real

subroutine MA97_factor_solve_real(matrix_type,val,nrhs,x,lx,akeep,fkeep, &
subroutine MA97_factor_solve_real(matrix_type,val,nrhs,x,ldx,akeep,fkeep, &
control,info,scale,ptr,row)
integer(ip_), intent(in) :: matrix_type
real(rp_), intent(in) :: val(*)
integer(ip_) :: lx, nrhs
real(rp_), intent(inout) :: x(lx,nrhs)
integer(ip_) :: ldx, nrhs
real(rp_), intent(inout) :: x(ldx,nrhs)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent (out) :: fkeep
type (MA97_fkeep), intent(inout) :: fkeep
type (MA97_control), intent (in) :: control
type (MA97_info), intent (inout) :: info
type (MA97_info), intent(out) :: info
real(rp_), intent(inout), optional :: scale(:)
integer(ip_), intent(in), optional :: ptr(akeep%n+1)
integer(ip_), intent(in), optional :: row(*)
Expand All @@ -317,9 +318,9 @@ subroutine MA97_factor_solve_one_real(matrix_type,val,x1,akeep,fkeep, &
real(rp_), intent(in) :: val(*)
real(rp_), intent(inout) :: x1(:)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent(out) :: fkeep
type (MA97_fkeep), intent(inout) :: fkeep
type (MA97_control), intent (in) :: control
type (MA97_info), intent (inout) :: info
type (MA97_info), intent(out) :: info
real(rp_), intent(inout), optional :: scale(:)
integer(ip_), intent(in), optional :: ptr(akeep%n+1)
integer(ip_), intent(in), optional :: row(*)
Expand Down Expand Up @@ -371,13 +372,12 @@ subroutine ma97_solve_mult_real(nrhs,x,ldx,akeep,fkeep,control,info,job)
integer(ip_), optional, intent(in) :: job
end subroutine ma97_solve_mult_real

subroutine MA97_solve_one_real(x,akeep,fkeep,control,info,scale,job)
subroutine MA97_solve_one_real(x,akeep,fkeep,control,info,job)
real(rp_), intent (inout) :: x(:)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent (in) :: fkeep
type (MA97_control), intent (in) :: control
type (MA97_info), intent (inout) :: info
real(rp_), intent(in), optional :: scale(:)
type (MA97_info), intent(out) :: info
integer(ip_), optional, intent (in) :: job

IF ( control%unit_error >= 0 .AND. control%print_level > 0 ) &
Expand Down Expand Up @@ -467,8 +467,8 @@ subroutine MA97_enquire_posdef_real(akeep,fkeep,control,info,d)
real(rp_), dimension( : ), intent(out) :: d
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent(in) :: fkeep
type (MA97_control), intent (inout) :: control
type (MA97_info), intent (inout) :: info
type (MA97_control), intent(in) :: control
type (MA97_info), intent(out) :: info

IF ( control%unit_error >= 0 .AND. control%print_level > 0 ) &
WRITE( control%unit_error, &
Expand All @@ -488,8 +488,8 @@ subroutine MA97_enquire_indef_real(akeep,fkeep,control,info,piv_order,d)
real(rp_), optional, intent(out) :: d(:,:)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent (in) :: fkeep
type (MA97_control), intent (inout) :: control
type (MA97_info), intent (inout) :: info
type (MA97_control), intent(in) :: control
type (MA97_info), intent(out) :: info

IF ( control%unit_error >= 0 .AND. control%print_level > 0 ) &
WRITE( control%unit_error, &
Expand All @@ -507,9 +507,9 @@ end subroutine MA97_enquire_indef_real
subroutine MA97_alter_real(d,akeep,fkeep,control,info)
real(rp_), intent (in) :: d(:,:)
type (MA97_akeep), intent (in) :: akeep
type (MA97_fkeep), intent (in) :: fkeep
type (MA97_control), intent (inout) :: control
type (MA97_info), intent (inout) :: info
type (MA97_fkeep), intent (inout) :: fkeep
type (MA97_control), intent(in) :: control
type (MA97_info), intent(out) :: info

IF ( control%unit_error >= 0 .AND. control%print_level > 0 ) &
WRITE( control%unit_error, &
Expand Down
4 changes: 2 additions & 2 deletions hsl_subset/hsl_mi28/hsl_mi28r.f90
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ module hsl_mi28_real
contains

subroutine mi28_factorize_real(n, ptr, row, val, lsize, rsize, keep, &
control, info, scale, invp)
control, info, scale, perm)
integer(ip_), intent(in) :: n
integer(ip_), intent(inout) :: ptr(n+1)
integer(ip_), intent(inout) :: row(:)
Expand All @@ -97,7 +97,7 @@ subroutine mi28_factorize_real(n, ptr, row, val, lsize, rsize, keep, &
type(mi28_control), intent(in) :: control
type(mi28_info), intent(out) :: info
real(rp_), intent(in), optional :: scale(n)
integer(ip_), intent(in), optional :: invp(n)
integer(ip_), intent(in), optional :: perm(n)
IF ( control%unit_error >= 0 ) WRITE( control%unit_error, &
"( ' We regret that the solution options that you have ', /, &
& ' chosen are not all freely available with GALAHAD.', /, &
Expand Down
Loading