load("__common__.sage")
def generator():
n=choice([3,4,5])
vec=[]
for i in range(0,n):
v=[]
for _ in range(0,n):
v.append(randrange(-5,5))
vec.append(vector(v))
basis = choice([false,true])
if basis==0:
if choice([false,true]):
vec[2] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]
if n>3 and choice([false,true]):
vec[3] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[2]
if n>4 and choice([false,true]):
vec[4] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[3]
A=matrix(vec).transpose()
if rank(A)<n:
basis=false
else:
basis=true
return {
"basis": basis,
"vecset": vectorSet(vec),
"dim": str(n),
"prompt": choice([true,false]),
"matrix": A,
"rref": A.rref(),
}