Skip to content

Commit 8b8e651

Browse files
committed
show example calculations for non-properties
1 parent 2a48e4b commit 8b8e651

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

source/linear-algebra/exercises/outcomes/AT/AT5/generator.sage

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ class Generator(BaseGenerator):
88
v2 = vector([x2,y2])
99
v3 = vector([x3,y3])
1010
v = vector([x,y])
11+
cs, ds, xs, ys = range(2,6)
12+
v1s = vector([1,2])
13+
v2s = vector([2,3])
14+
v3s = vector([3,4])
15+
vs = vector([1,2])
1116
vectorsimplify = lambda v : vector([simplify(expand(x)) for x in v])
1217

1318
true_property_options = ["add_assoc","add_comm","mul_assoc","dist_v","dist_s","mul_id"]
@@ -20,27 +25,44 @@ class Generator(BaseGenerator):
2025
if prop == "add_assoc":
2126
LHS = plus(v1,plus(v2,v3))
2227
RHS = plus(plus(v1,v2),v3)
28+
LHS_sample = plus(v1s,plus(v2s,v3s))
29+
RHS_sample = plus(plus(v1s,v2s),v3s)
2330
elif prop == "add_comm":
2431
LHS = plus(v1,v2)
2532
RHS = plus(v2,v1)
33+
LHS_sample = plus(v1s,v2s)
34+
RHS_sample = plus(v2s,v1s)
2635
elif prop == "mul_assoc":
2736
LHS = times(c*d,v)
2837
RHS = times(c,times(d,v))
38+
LHS_sample = times(cs*ds,vs)
39+
RHS_sample = times(cs,times(ds,vs))
2940
elif prop == "mul_id":
3041
LHS = times(1,v)
3142
RHS = v
43+
LHS_sample = times(1,vs)
44+
RHS_sample = vs
3245
elif prop == "dist_v":
3346
LHS = times(c,plus(v1,v2))
3447
RHS = plus(times(c,v1),times(c,v2))
48+
LHS_sample = times(cs,plus(v1s,v2s))
49+
RHS_sample = plus(times(cs,v1s),times(cs,v2s))
3550
elif prop == "dist_s":
3651
LHS = times(c+d,v)
3752
RHS = plus(times(c,v),times(d,v))
53+
LHS_sample = times(cs+ds,vs)
54+
RHS_sample = plus(times(cs,vs),times(ds,vs))
3855
LHS = vectorsimplify(LHS)
3956
RHS = vectorsimplify(RHS)
4057
if LHS == RHS:
4158
trueproperties[prop]=LHS
4259
else:
43-
falseproperties[prop]={"LHS": LHS, "RHS": RHS}
60+
falseproperties[prop]={
61+
"LHS": LHS,
62+
"RHS": RHS,
63+
"LHS_sample": LHS_sample,
64+
"RHS_sample": RHS_sample
65+
}
4466
for prop in false_only_property_options:
4567
if "dist_s" in trueproperties and "mul_id" in trueproperties:
4668
if prop == "add_id":

source/linear-algebra/exercises/outcomes/AT/AT5/template.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ any one of the following properties does not hold:
138138
<p>
139139
Vector addition is not associative: <me>(x_1,y_1)\oplus((x_2,y_2)\oplus(x_3,y_3))={{LHS}}</me>
140140
<me>((x_1,y_1)\oplus(x_2,y_2))\oplus(x_3,y_3)={{RHS}}</me>
141+
For example: <me>(1,2)\oplus((2,3)\oplus(3,4))={{LHS_sample}}</me>
142+
<me>((1,2)\oplus(2,3))\oplus(3,4)={{RHS_sample}}</me>
141143
</p>
142144
</item>
143145
<!-- {{/add_assoc}} -->
@@ -146,6 +148,8 @@ Vector addition is not associative: <me>(x_1,y_1)\oplus((x_2,y_2)\oplus(x_3,y_3)
146148
<p>
147149
Vector addition is not commutative: <me>(x_1,y_1)\oplus(x_2,y_2)={{LHS}}</me>
148150
<me>(x_2,y_2)\oplus(x_1,y_1)={{RHS}}</me>
151+
For example: <me>(1,2)\oplus(2,3)={{LHS_sample}}</me>
152+
<me>(2,3)\oplus(1,2)={{RHS_sample}}</me>
149153
</p>
150154
</item>
151155
<!-- {{/add_comm}} -->
@@ -168,13 +172,16 @@ Additive inverses do not always exist.
168172
<p>
169173
Scalar multiplication is not associative: <me>c\odot(d\odot(x,y))={{LHS}}</me>
170174
<me>(cd)\odot(x,y)={{RHS}}</me>
175+
For example: <me>2\odot(3\odot(1,2))={{LHS_sample}}</me>
176+
<me>(2\cdot 3)\odot(1,2)={{RHS_sample}}</me>
171177
</p>
172178
</item>
173179
<!-- {{/mul_assoc}} -->
174180
<!-- {{#mul_id}} -->
175181
<item>
176182
<p>
177183
<m>1</m> is not a scalar multiplication identity: <me>1\odot(x,y)={{LHS}} \neq (x,y)</me>
184+
For example: <me>1\odot(1,2)={{LHS_sample}} \neq (1,2)</me>
178185
</p>
179186
</item>
180187
<!-- {{/mul_id}} -->
@@ -184,6 +191,9 @@ Scalar multiplication is not associative: <me>c\odot(d\odot(x,y))={{LHS}}</me>
184191
Scalar multiplication does not distribute over vector addition:
185192
<me>c\odot((x_1,y_1)\oplus(x_2,y_2))={{LHS}}</me>
186193
<me>(c\odot(x_1,y_1))\oplus(c\odot(x_2,y_2))={{RHS}}</me>
194+
For example:
195+
<me>2\odot((1,2)\oplus(2,3))={{LHS_sample}}</me>
196+
<me>(2\odot(1,2))\oplus(2\odot(2,3))={{RHS_sample}}</me>
187197
</p>
188198
</item>
189199
<!-- {{/dist_v}} -->
@@ -193,6 +203,9 @@ Scalar multiplication does not distribute over vector addition:
193203
Scalar multiplication does not distribute over scalar addition:
194204
<me>(c+d)\odot(x,y)={{LHS}}</me>
195205
<me>(c\odot(x,y))\oplus(d\odot(x,y))={{RHS}}</me>
206+
For example:
207+
<me>(2+3)\odot(1,2)={{LHS_sample}}</me>
208+
<me>(2\odot(1,2))\oplus(3\odot(1,2))={{RHS_sample}}</me>
196209
</p>
197210
</item>
198211
<!-- {{/dist_s}} -->

0 commit comments

Comments
 (0)