Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1794
Image: ubuntu2004
1
load("__common__.sage")
2
3
def generator():
4
n=choice([4,5])
5
vec=[]
6
for i in range(0,n):
7
vec.append(vector([ randrange(-6,6), randrange(-6,6), randrange(-6,6), randrange(-6,6), randrange(-6,6)]))
8
9
#Pick if yes a linear combination or no
10
independent = choice([false,true])
11
12
#If dependent, Generate the 4th vector and sometimes the 3rd vector
13
if independent==0:
14
d = choice( range(3,n))
15
vec[d]=randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]+randrange(-3,3)*vec[2]
16
if choice([false,true]):
17
d = choice( range(2,n))
18
vec[d]=randrange(-3,3)*vec[0]+randrange(-3,3)*vec[1]
19
20
A=matrix(vec).transpose()
21
if rank(A)<n:
22
independent = false
23
else:
24
independent = true
25
26
xs=[var("x_"+str(i+1)) for i in range(0,n)]
27
28
29
return {
30
"independent": independent,
31
"vecset": vectorSet(vec),
32
"veceq": vectorEquation(A.augment(zero_vector(ZZ,5),subdivide=true)),
33
"prompt": choice([true,false]),
34
"matrix": A.augment( vector([0 for i in range(0,A.nrows())]),true),
35
"rref":A.augment( vector([0 for i in range(0,A.nrows())]),true).rref(),
36
}
37
38