MatrixLambdaRSC := function(q, k, n)

	local RSC, A, lambda;



	if 2*k ge q then
   		 printf"Instead %o, you must put a value bigger than %o\n", q, 2*k;
    		return"Errore!";
  	end if;
	
 	if n lt k+1 then
		printf"Instead %o, you must put a value bigger than %o\n", n, k+1;
		return"Errore !";
 	end if;

	RSC := ReedSolomonCode(q - 1, q - k);

	A := GeneratorMatrix(RSC);

	E := Parent(A[1][1]);
	lambda := Matrix(E, k, k, []);



	for i in [1..k] do

		for j in [n..n+k-1] do

			lambda[i][j-n+1] := A[i][j];
	
		end for;

	end for;



	return lambda;

end function;