Support routines for SLSQP. For example, routines from [BLAS](http: These have also been refactored into modern Fortran.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | public, | parameter | :: | epmach | = | epsilon(1.0_wp) | |
real(kind=wp), | public, | parameter | :: | zero | = | 0.0_wp | |
real(kind=wp), | public, | parameter | :: | one | = | 1.0_wp | |
real(kind=wp), | public, | parameter | :: | two | = | 2.0_wp | |
real(kind=wp), | public, | parameter | :: | four | = | 4.0_wp | |
real(kind=wp), | public, | parameter | :: | ten | = | 10.0_wp | |
real(kind=wp), | public, | parameter | :: | hun | = | 100.0_wp |
forms the dot product of two vectors. uses unrolled loops for increments equal to one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=wp), | intent(in), | dimension(*) | :: | dx | ||
integer, | intent(in) | :: | incx | |||
real(kind=wp), | intent(in), | dimension(*) | :: | dy | ||
integer, | intent(in) | :: | incy |
Function that returns the Euclidean norm of a vector .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=wp), | intent(in), | dimension(*) | :: | x | ||
integer, | intent(in) | :: | incx |
constant times a vector plus a vector. uses unrolled loops for increments equal to one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=wp), | intent(in) | :: | da | |||
real(kind=wp), | intent(in), | dimension(*) | :: | dx | ||
integer, | intent(in) | :: | incx | |||
real(kind=wp), | intent(inout), | dimension(*) | :: | dy | ||
integer, | intent(in) | :: | incy |
copies a vector, x, to a vector, y. uses unrolled loops for increments equal to one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=wp), | intent(in), | dimension(*) | :: | dx | ||
integer, | intent(in) | :: | incx | |||
real(kind=wp), | intent(out), | dimension(*) | :: | dy | ||
integer, | intent(in) | :: | incy |
scales a vector by a constant. uses unrolled loops for increment equal to one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=wp), | intent(in) | :: | da | |||
real(kind=wp), | intent(inout), | dimension(*) | :: | dx | ||
integer, | intent(in) | :: | incx |