So In general covariance matrix in GP provides us with proportionality relation between random variables, in other words $x_1$ and $x_2$ are perfectly correlated if off-diagonal entry has $\rho=\pm 1$: $$\begin{bmatrix} \sigma_x^2 & 1*\sigma_y\sigma_x\\ 1*\sigma_x\sigma_y & \sigma_y^2 \end{bmatrix}$$
so far so good. Now if we construct the plot with 0 $\mu$ and unit variance/covariance, and take 5 samples, it shall look something like this:
So this makes sense, they both are correlated exactly so they are same. Now with this same "understanding" for three random variables we can have the following three different kind of $\Sigma$ assuming unit variance and $\rho= 1$: $$\begin{bmatrix} 1 & 1& 1\\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}, \begin{bmatrix} 1 & 1& 0\\ 1 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}, \begin{bmatrix} 1 & 0& 1\\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}$$ So from left - right: in the first all variables are correlated, in second only $x_1,x_2$ are correlated and in the third only $x_1,x_3$ are correlated. So technically in the first matrix knowing the value of say $x_1$ should determine the value of $x_2,x_3$ as well, however if we include corresponding values of each ramdom variables in the mean of GP, the correlation has "no effect" at all. The following is the plot for three covariance matrices with $\mu(x_1)$ = 10 $\mu(x_2)$ = 0, $\mu(x_3)$ = 5 and the question is:
What role do covariance matrix play in this case?
import numpy as np
from matplotlib import pyplot as plt
# Finite number of x points
X = [0,1,2]
# Finite number of x points
samples1 = np.random.multivariate_normal([10,0,5], [[1,1,1],[1,1,1],[1,1,1]],5)
samples2 = np.random.multivariate_normal([10,0,5], [[1,0,1],[0,1,0],[1,0,1]],5)
samples3 = np.random.multivariate_normal([10,0,5], [[1,1,0],[1,1,0],[0,0,1]],5)
plt.figure()
for i in range(len(samples1)):
plt.plot(X, samples1[i],'-o')
plt.title("Σ=[[1,1,1],[1,1,1],[1,1,1]]")
plt.figure()
for i in range(len(samples2)):
plt.plot(X, samples2[i],'-o')
plt.title("Σ=[[1,0,1],[0,1,0],[1,0,1]]")
plt.figure()
for i in range(len(samples3)):
plt.plot(X, samples3[i],'-o')
plt.title("Σ=[[1,1,0],[1,1,0],[0,0,1]]")
plt.show()