﻿g05sh Method
g05sh generates a vector of pseudorandom numbers taken from an F (or Fisher's variance ratio) distribution with μ and ν degrees of freedom.

# Syntax

C#
```public static void g05sh(
int n,
int df1,
int df2,
G05..::.G05State g05state,
double[] x,
out int ifail
)```
Visual Basic (Declaration)
```Public Shared Sub g05sh ( _
n As Integer, _
df1 As Integer, _
df2 As Integer, _
g05state As G05..::.G05State, _
x As Double(), _
<OutAttribute> ByRef ifail As Integer _
)```
Visual C++
```public:
static void g05sh(
int n,
int df1,
int df2,
G05..::.G05State^ g05state,
array<double>^ x,
[OutAttribute] int% ifail
)```
F#
```static member g05sh :
n:int *
df1:int *
df2:int *
g05state:G05..::.G05State *
x:float[] *
ifail:int byref -> unit
```

#### Parameters

n
Type: System..::.Int32
On entry: n, the number of pseudorandom numbers to be generated.
Constraint: n0.
df1
Type: System..::.Int32
On entry: μ, the number of degrees of freedom of the distribution.
Constraint: df11.
df2
Type: System..::.Int32
On entry: ν, the number of degrees of freedom of the distribution.
Constraint: df21.
g05state
Type: NagLibrary..::.G05..::.G05State
An object of type G05.G05State.
x
Type: array< System..::.Double >[]()[]
An array of size [n]
On exit: the n pseudorandom numbers from the specified F-distribution.
ifail
Type: System..::.Int32 %
On exit: ifail=0 unless the method detects an error (see [Error Indicators and Warnings]).

# Description

The distribution has PDF (probability density function)
 f x = μ+ν-2 2 ! x 12 μ-1 12 μ-1! 12 ν-1 ! 1+ μν x 12 μ+ν × μν 12μ if ​ x>0 , fx=0 otherwise.
g05sh calculates the values
 ν yi μ zi ,   i=1,2,…,n ,
where yi and zi are generated by g05sj from gamma distributions with parameters 12μ,2 and 12ν,2 respectively (i.e., from χ2-distributions with μ and ν degrees of freedom).