/* Matica s okrajovymi podmienkami */
M: matrix([1, 0, 0, 0], 
          [1, 4, 1, 0],
          [0, 1, 4, 1],
          [0, 0, 0, 1]);

/* Prava strana systemu */
B: matrix([1, 3], [6, 6], [6, -3], [1, -1]);

/* Inverz k matici M */
invert(M);

/* Riesenie systemu -- dotykove vektory r'_0, ..., r'_3 */
R: invert(M).B;

/* Hermitove polynomy */
h_03: 1 - 3*t^2 + 2*t^3; 
h_33: 3*t^2 - 2*t^3;
h_13: t - 2*t^2 + t^3;
h_23: -t^2 + t^3;

/* Vstupne riadiace vrcholy */
P: matrix([0, 0], [1, 1], [2, 2], [3, 0]);

/* Parametrizacia segmentu H_0 */
H_0: expand(P[1]*h_03 + P[2]*h_33 + R[1]*h_13 + R[2]*h_23);

/* Parametrizacia segmentu H_1 */
H_1: expand(P[2]*h_03 + P[3]*h_33 + R[2]*h_13 + R[3]*h_23);

/* Parametrizacia segmentu H_2 */
H_2: expand(P[3]*h_03 + P[4]*h_33 + R[3]*h_13 + R[4]*h_23);