load("__common__.sage")12def generator():3#Pick n vectors in Rn4n=choice([3,4,5])5# vec=[]6# for i in range(0,n):7# v=[]8# for _ in range(0,n):9# v.append(randrange(-5,5))10# vec.append(vector(v))1112#Pick if yes a basis combination or not13basis = choice([false,true])1415if basis:16A=simple_random_matrix_of_rank(n,columns=n,rows=n)17else:18A=simple_random_matrix_of_rank(choice(range(2,n)),columns=n,rows=n)1920#If dependent, Generate the 3, 4, 5th vector sometimes21# if basis==0:22# if choice([false,true]):23# vec[2] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]24# if n>3 and choice([false,true]):25# vec[3] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[2]26# if n>4 and choice([false,true]):27# vec[4] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[3]2829# A=matrix(vec).transpose()30# if rank(A)<n:31# basis=false32# else:33# basis=true343536return {37"basis": basis,38#"vecset": vectorSet(vec),39"vecset": vectorSet(A.columns()),40"dim": str(n),41"prompt": choice([true,false]),42"matrix": A,43"rref": A.rref(),44}454647