dynamics_stability Module



Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), public, parameter :: HYPERBOLIC_FIXED_POINT_SADDLE = 102

Describes a hyperbolic fixed point where all of the eigenvalues of the dynamics matrix have a nonzero real part but one or more of the eigenvalues has a positive-valued real part.

integer(kind=int32), public, parameter :: HYPERBOLIC_FIXED_POINT_SINK = 100

Describes a hyperbolic fixed point where all of the eigenvalues of the dynamics matrix have a nonzero real part and all real parts are negative-valued. This point is considered stable.

integer(kind=int32), public, parameter :: HYPERBOLIC_FIXED_POINT_SOURCE = 101

Describes a hyperbolic fixed point where all of the eigenvalues of the dynamics matrix have a nonzero real part and the real part is positive-valued for each. This point is considered unstable.

integer(kind=int32), public, parameter :: NONHYPERBOLIC_FIXED_POINT_CENTER = 105

Describes a nonhyperbolic fixed point where all of the eigenvalues of the dynamics matrix are purely imaginary and nonzero. This point is considered stable.

integer(kind=int32), public, parameter :: NONHYPERBOLIC_FIXED_POINT_NEUTRALLY_STABLE = 104

Describes a nonhyperbolic fixed point where some of the eigenvalues of the dynamics matrix have negative real parts and the remaining eigenvalues all have zero-valued real parts.

integer(kind=int32), public, parameter :: NONHYPERBOLIC_FIXED_POINT_UNSTABLE = 103

Describes a nonhyperbolic fixed point where one or more of the eigenvalues of the dynamics matrix have a positive-valued real part.


Functions

public function determine_local_stability(a, ev, err) result(rst)

Determines the nature of stability/unstability near the point at which the dynamics matrix was computed.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

An N-by-N matrix containing the 'A' matrix, also known as the dynamics matrix.

complex(kind=real64), intent(out), optional, dimension(:) :: ev

An optional N-element array that, if supplied, will be filled with the eigenvalues of the matrix A.

class(errors), intent(inout), optional, target :: err

An error handler object.

Return Value integer(kind=int32)

Describe the output constants