# Create a random vectorΒΆ

In this example we are going to create a distribution or copula.

The way to go is inheriting the PythonRandomVector class and overload its methods:

• getRealization

• getSample

• getMean

• getCovariance

```import openturns as ot

ot.Log.Show(ot.Log.NONE)
```

Inherit PythonRandomVector

```class RVEC(ot.PythonRandomVector):
def __init__(self):
super(RVEC, self).__init__(2)
self.setDescription(["R", "S"])

def getRealization(self):
X = [ot.RandomGenerator.Generate(), 2.0 + ot.RandomGenerator.Generate()]
return X

def getSample(self, size):
X = []
for i in range(size):
X.append(
[ot.RandomGenerator.Generate(), 2.0 + ot.RandomGenerator.Generate()]
)
return X

def getMean(self):
return [0.5, 2.5]

def getCovariance(self):
return [[1.0, 0.0], [0.0, 1.0]]
```

Instantiate our distribution

```randomVector = ot.RandomVector(RVEC())
```

Get a sample

```randomVector.getSample(5)
```
v0 v1 0.4422287 2.620365 0.8888093 2.70643 0.4328834 2.279606 0.5487328 2.274968 0.9045159 2.863349

Get mean

```randomVector.getMean()
```
class=Point name=Unnamed dimension=2 values=[0.5,2.5]

Compute the probability contained in an interval

```randomVector.getCovariance()
```

[[ 1 0 ]
[ 0 1 ]]