-
Notifications
You must be signed in to change notification settings - Fork 0
/
argument.f90
110 lines (106 loc) · 3.77 KB
/
argument.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
!Copyright (C) 2012 Brian A. Lockwood
!
!This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
!
!This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
!
!You should have received a copy of the GNU General Public License along with
!this program. If not, see <http://www.gnu.org/licenses/>.
!> \file argument.f90
!> \brief This modeule contains the definitions for the structures used to pass supplemental arguments to the function calls within the optimization subroutines (<a href=patternsearch_8f90.html>patternsearch</a> and <a href=simplexsearch_8f90.html>simplexsearch</a>). <br>
!> Each function type (such as likelihood, likelihood_mle, and the associated Kriging subroutines) has its own structure that stores the supplemental arguments required for the function call. Theses structures are themselves elements of the structure "generalarg" which is used as a wrapper for inputing these structures into the optimization subroutines.
module argument
implicit none
TYPE arg_toy
character(len=60) descriptor
real(8) alpha
END TYPE arg_toy
TYPE arg_likelihood
character(len=60) descriptor
integer ndim
integer ntot
real(8), pointer :: X(:,:)
real(8), pointer :: Y(:)
integer stot
real(8), pointer :: H(:,:)
real(8) sigmaN
END TYPE arg_likelihood
TYPE arg_alllikelihood
character(len=60) descriptor
integer ndim
integer ntot
real(8), pointer :: X(:,:)
real(8), pointer :: Y(:)
integer stot
real(8), pointer :: H(:,:)
END TYPE arg_alllikelihood
TYPE arg_likelihood_grad
character(len=60) descriptor
integer ndim
integer ntot
real(8), pointer :: X(:,:)
real(8), pointer :: Y(:)
integer gtot
integer, pointer :: pts(:)
integer, pointer :: dims(:)
real(8), pointer :: dY(:)
integer stot
real(8), pointer :: H(:,:)
real(8) sigmaN
real(8) sigmaNG
END TYPE arg_likelihood_grad
TYPE arg_alllikelihood_grad
character(len=60) descriptor
integer ndim
integer ntot
real(8), pointer :: X(:,:)
real(8), pointer :: Y(:)
integer gtot
integer, pointer :: pts(:)
integer, pointer :: dims(:)
real(8), pointer :: dY(:)
integer stot
real(8), pointer :: H(:,:)
END TYPE arg_alllikelihood_grad
TYPE arg_kriging
character(len=60) descriptor
character(len=60) value
integer ndim
integer ntot
real(8), pointer :: X(:,:)
integer stot
real(8), pointer :: H(:,:)
real(8), pointer :: beta(:)
real(8), pointer :: V(:)
real(8), pointer :: hyper(:)
integer covarflag
real(8) Ymin
end type arg_kriging
TYPE arg_kriging_grad
character(len=60) descriptor
character(len=60) value
integer ndim
integer ntot
real(8), pointer :: X(:,:)
integer gtot
integer, pointer :: pts(:)
integer, pointer :: dims(:)
integer stot
real(8), pointer :: H(:,:)
real(8), pointer :: beta(:)
real(8), pointer :: V(:)
real(8), pointer :: hyper(:)
integer covarflag
real(8) Ymin
end type arg_kriging_grad
TYPE generalarg
character(len=60) descriptor
type (arg_toy) toyarg
type (arg_likelihood) likearg
type (arg_likelihood_grad) gradlikearg
type (arg_alllikelihood) alllikearg
type (arg_alllikelihood_grad) gradalllikearg
type (arg_kriging) krigingarg
type (arg_kriging_grad) gradkrigingarg
END TYPE generalarg
end module argument