Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
3774 views
ubuntu2004
1
load("__common__.sage")
2
3
def generator():
4
#Pick n vectors in Rn
5
n=choice([3,4,5])
6
# vec=[]
7
# for i in range(0,n):
8
# v=[]
9
# for _ in range(0,n):
10
# v.append(randrange(-5,5))
11
# vec.append(vector(v))
12
13
#Pick if yes a basis combination or not
14
basis = choice([false,true])
15
16
if basis:
17
A=simple_random_matrix_of_rank(n,columns=n,rows=n)
18
else:
19
A=simple_random_matrix_of_rank(choice(range(2,n)),columns=n,rows=n)
20
21
#If dependent, Generate the 3, 4, 5th vector sometimes
22
# if basis==0:
23
# if choice([false,true]):
24
# vec[2] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]
25
# if n>3 and choice([false,true]):
26
# vec[3] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[2]
27
# if n>4 and choice([false,true]):
28
# vec[4] = randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[3]
29
30
# A=matrix(vec).transpose()
31
# if rank(A)<n:
32
# basis=false
33
# else:
34
# basis=true
35
36
37
return {
38
"basis": basis,
39
#"vecset": vectorSet(vec),
40
"vecset": vectorSet(A.columns()),
41
"dim": str(n),
42
"prompt": choice([true,false]),
43
"matrix": A,
44
"rref": A.rref(),
45
}
46
47