f_sts_var_core Function

public pure function f_sts_var_core(x, ddof) result(var)

Computes (sample) variance.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x(:)

x vector (assumed size array)

real(kind=wp), intent(in) :: ddof

delta degrees of freedom

Return Value real(kind=wp)

variance


Calls

proc~~f_sts_var_core~~CallsGraph proc~f_sts_var_core f_sts_var_core proc~f_sts_mean_core f_sts_mean_core proc~f_sts_var_core->proc~f_sts_mean_core

Called by

proc~~f_sts_var_core~~CalledByGraph proc~f_sts_var_core f_sts_var_core proc~f_sts_pcc_core f_sts_pcc_core proc~f_sts_pcc_core->proc~f_sts_var_core proc~f_sts_std f_sts_std proc~f_sts_std->proc~f_sts_var_core proc~f_sts_std_core f_sts_std_core proc~f_sts_std_core->proc~f_sts_var_core proc~f_sts_trend_core f_sts_trend_core proc~f_sts_trend_core->proc~f_sts_var_core proc~f_sts_var f_sts_var proc~f_sts_var->proc~f_sts_var_core interface~fsml_std fsml_std interface~fsml_std->proc~f_sts_std interface~fsml_var fsml_var interface~fsml_var->proc~f_sts_var proc~f_sts_pcc f_sts_pcc proc~f_sts_pcc->proc~f_sts_pcc_core proc~f_sts_trend f_sts_trend proc~f_sts_trend->proc~f_sts_trend_core proc~s_lin_pca s_lin_pca proc~s_lin_pca->proc~f_sts_std_core interface~fsml_pca fsml_pca interface~fsml_pca->proc~s_lin_pca interface~fsml_pcc fsml_pcc interface~fsml_pcc->proc~f_sts_pcc interface~fsml_trend fsml_trend interface~fsml_trend->proc~f_sts_trend

Source Code

pure function f_sts_var_core(x, ddof) result(var)

! ==== Description
!! Computes (sample) variance.

! ==== Declarations
  real(wp), intent(in) :: x(:) !! x vector (assumed size array)
  real(wp), intent(in) :: ddof !! delta degrees of freedom
  real(wp)             :: xbar !! mean of x
  real(wp)             :: var  !! variance

! ==== Instructions
  xbar = f_sts_mean_core(x)
  var  = dot_product( (x - xbar), (x - xbar) ) / &
       & (real(size(x), kind=wp) - ddof)

end function f_sts_var_core