Compute the function at the nominal (unperturbed) x for all the rows
in the sparsity pattern. This is done once per Jacobian evaluation
so it can be reused by every column (or group) whose finite difference
formula includes .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(numdiff_type), | intent(inout) | :: | me | |||
| real(kind=wp), | intent(in), | dimension(:) | :: | x |
nominal variable vector |
|
| real(kind=wp), | intent(out), | dimension(me%m) | :: | f0 |
function value at |
subroutine compute_nominal_function(me,x,f0) implicit none class(numdiff_type),intent(inout) :: me real(wp),dimension(:),intent(in) :: x !! nominal variable vector real(wp),dimension(me%m),intent(out) :: f0 !! function value at `x` !! (only the rows in the !! sparsity pattern are computed) if (me%exception_raised) return ! check for exceptions call me%compute_function(x,f0,unique(me%sparsity%irow,chunk_size=me%chunk_size)) end subroutine compute_nominal_function