Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
3774 views
ubuntu2004
1
load("__common__.sage")
2
3
def generator():
4
# create a 3x5 or 4x4 matrix
5
rows = randrange(3,5)
6
columns = 8-rows
7
8
#start with nice RREF
9
max_number_of_pivots = min(rows,columns-1)
10
number_of_pivots = randrange(2,max_number_of_pivots+1)
11
A = simple_random_matrix_of_rank(number_of_pivots,rows=rows,columns=columns)
12
A.subdivide([],[columns-1])
13
14
# construct variables
15
xs=choice([
16
[var("x_"+str(i+1)) for i in range(0,columns-1)],
17
[var("x"),var("y"),var("z"),var("zw",latex_name="w")][0:columns-1],
18
])
19
20
# construct system
21
system=[A.delete_columns([columns-1]).row(r)*vector(xs)==A.column(-1)[r] for r in range(0,rows)]
22
23
#randomly swap exercise query
24
prompt = choice([{"sys":True},{"mat":True},{"vec":True}])
25
26
return {
27
"system": latex_system_from_matrix(A,variable_list=xs),
28
"alignCols": A.ncols(),
29
"matrix": A,
30
"vectorequation": vectorEquation(A),
31
"prompt": prompt
32
}
33