Я пишу свою первую программу численной оптимизации (метод Ньютона) и мою первую программу на Фортране. Я начал с Python, чтобы понять первую проблему, и теперь я портирую на Фортран для работы над другой. (По одной за раз, верно?)
В Python есть удобный способ передачи аргументов функции: распаковка списка , например:
def f(x_1, x_2):
"""Just a function with two arguments."""
return math.sqrt(x_1 ** 2 + x_2 ** 2)
...
f(*[4, 3]) # calls f with parameters 4 and 3
# output: 5
Есть ли в Фортране нечто похожее на этого звездного оператора? Я помещаю свои двумерные точки в матрицу, и я пытаюсь выучить самый обычный способ передачи одного из моих двухточечных «векторов» в функцию для оценки. Это выглядит примерно так:
! "double precision", using SELECTED_REAL_KIND
REAL(KIND=dp), DIMENSION(100, 2) :: iterates = 0.0_dp
! f expects two REALs
REAL(KIND=dp) :: first_value = f(iterates(1, :))