The code that generates the quiz can be viewed, but it isn't necessary to do so.

In[217]:=

Off[General :: "spell1", Solve :: "svars"] ;

Clear[S, v] ;

dimV = Random[Integer, {4, 9}] ;

v[i_] := v[i] = Table[Random[], {dimV}] ;

dimW = Random[Integer, {1, dimV}] ;

NumberOfVectors = Random[Integer, {dimW, dimV}] ;

basis = Table[v[i], {i, dimW}] ;

S[i_] := S[i] = First[Subsets[Range[dimW], {1, dimW}, {Random[Integer, {1, 2^dimW - 1}]}]] ;

multiplier = Join[IdentityMatrix[dimW], Table[Table[If[MemberQ[S[j], i], Random[], 0], {i, 1, dimW}], {j, dimW + 1, NumberOfVectors}]] ;

perm = Permutations[Range[NumberOfVectors]][[Random[Integer, {1, Factorial[NumberOfVectors]}]]] ;

vectors = (multiplier . basis)[[perm]] ;

PrettyVectors = Table[MatrixForm[vectors[[i]]], {i, Length[vectors]}] ;

M = If[flag = (Random[] <1/2), vectors, Transpose[vectors]] ;


Created by Mathematica  (April 20, 2006) Valid XHTML 1.1!