From ffc56f4b05d0a1cec859585c64c2e94e9154209d Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Sun, 3 Nov 2024 13:33:38 -0600 Subject: [PATCH] cs-3333: add assignment 4 --- .../CS-3333/Assignments/4/Assignment.typ | 397 ++++++++++++++++++ .../CS-3333/Assignments/4/assets/graph.png | Bin 0 -> 34038 bytes 2 files changed, 397 insertions(+) create mode 100644 Fall-2024/CS-3333/Assignments/4/Assignment.typ create mode 100644 Fall-2024/CS-3333/Assignments/4/assets/graph.png diff --git a/Fall-2024/CS-3333/Assignments/4/Assignment.typ b/Fall-2024/CS-3333/Assignments/4/Assignment.typ new file mode 100644 index 0000000..47b672b --- /dev/null +++ b/Fall-2024/CS-3333/Assignments/4/Assignment.typ @@ -0,0 +1,397 @@ +#show link: set text(blue) +#set text(font: "Calibri") +#show raw: set text(font: "Fira Code") +#set table.cell(breakable: false) +#set table(stroke: (x, y) => ( + left: if x > 0 { + .1pt + }, + top: if y == 1 { + 0.5pt + } else if y > 1 { + 0.1pt + }, +)) + + +#set math.mat(delim: "[") +#set page(margin: (x: .5in, y: .5in)) +#let solve(solution) = { + block( + inset: 10pt, + stroke: blue + .3pt, + fill: rgb(0, 149, 255, 15%), + radius: 4pt, + )[#solution] +} + +#let solvein(solution) = { + let outset = 3pt + h(outset) + box( + outset: outset, + stroke: blue + .3pt, + fill: rgb(0, 149, 255, 15%), + radius: 4pt, + )[#solution] +} + +#let note(content) = { + block( + outset: 5pt, + inset: 10pt, + stroke: luma(20%) + .3pt, + fill: luma(95%), + radius: 4pt, + )[#content] +} + +#let notein(content) = { + let outset = 3pt + h(outset) + box( + outset: outset, + stroke: luma(20%) + .3pt, + fill: luma(95%), + radius: 4pt, + )[#content] +} + +#align(center)[ + = CS 3333 Mathematical Foundations + Homework 4 (100 points)\ + #underline[Price Hiller] | #underline[zfp106] +] +#line(length: 100%, stroke: .25pt) + +*Submission:*\ +Same as HW1. + +*Questions*\ +Please write down the major intermediate steps. + +1. Calculate the sum of two matrices if it is defined. (10 pts) + + #enum( + numbering: "(a)", + tight: false, + number-align: start + top, + [ + (5 pts) + $mat( + 5, 7, -2; + 6, 0, 5; + 0, 4, 1; + ) + mat( + 3, 0, 4; + -5, -6, 8; + 7, 9, 0 + ) =$ + + #note[ + $mat( + 5, 7, -2; + 6, 0, 5; + 0, 4, 1; + ) + mat( + 3, 0, 4; + -5, -6, 8; + 7, 9, 0 + ) &= mat(5 + 3, 7 + 0, 4 + (-2);6 + (-5), 0 + (-6), 5 + 8; 0 + 7, 4 + 9, 1 + 0;)\ + + &= #solve[$mat(8, 7, 2; 1, -6, 13; 7, 13, 1;)$]$ + ] + ], + [ + (5 pts) + $mat( + 2, 0, 7; + 9, 5, 6; + 8, 4, 0; + ) + mat( + 6, 1; + 4, 7; + 0, 5; + ) =$ + #solve[The addition is *not defined*. The first matrix is of order $3×3$ whereas the order of the second matrix is of order $3×2$.] + ], + ) + +2. Calculate $A*B$ if it is defined. (25 pts)\ + #enum( + numbering: "(a)", + tight: false, + number-align: start + top, + [ + (5 pts) $A = 8$, $B = mat( + 7, 0, -2, 4; + -6, 1, -3, 5; + )$ + + #note[$ + "AB" &= 8 mat( + 7, 0, -2, 4; + -6, 1, -3, 5; + )\ + "AB" &= mat( + 8 ⋅ 7, 8 ⋅ 0, 8 ⋅ -2, 8 ⋅ 4; + 8 ⋅ -6, 8 ⋅ 1, 8 ⋅ -3, 8 ⋅ 5; + )\ + "AB" &= #solve[$mat( + 56&, 0&, -16&, 32&; + -48&, 8&, -24&, 40&; + )$] + $] + ], + [ + (10 pts) $A = mat(7, 0, -2, 4; -6, 1, -3, 5;)$ $B = mat(-1, 6; -4, 4; 5, 8; 0, -7;)$ + #note[ + $ + "AB" &= mat(7, 0, -2, 4; -6, 1, -3, 5;) × mat(-1, 6; -4, 4; 5, 8; 0, -7;)\ + "AB" &= mat( + ((7 * -1) + (0 * -4) + (-2 * 5) + (4 * 0)), ((7 * 6) + (0 * 4) + (-2 * 8) + (4 * -7)); + ((-6 * -1) + (1 * -4) + (-3 * 5) + (5 * 0)), ((-6 * 6) + (1 * 4) + (-3 * 8) + (5 * -7)); + )\ + "AB" &= #solve[$mat( + -17&, -2&; + -13&, -91&; + )$] + $ + ] + ], + [ + (10 pts) $A = mat(1, 0, 0; 0, -1, -1; -1, 1, 0;)$ $B = mat(1, 1, -1; 0, -1, 1; 1, 1, 0;)$ + + #note[ + $ + "AB" &= mat(1, 0, 0; 0, -1, -1; -1, 1, 0;) × mat(1, 1, -1; 0, -1, 1; 1, 1, 0;)\ + "AB" &= mat( + ((1 * 1) + (0 * 0) + (0 * 1)), ((1 * 1) + (0 * -1) + (0 * 1)), ((1 * -1) + (0 * 1) + (0 * 0)); + ((0 * 1) + (-1 * 0) + (-1 * 1)), ((0 * 1) + (-1 * -1) + (-1 * 1)), ((0 * -1) + (-1 * 1) + (-1 * 0)); + ((-1 * 1) + (1 * 0) + (0 * 1)), ((-1 * 1) + (1 * -1) + (0 * 1)), ((-1 * -1) + (1 * 1) + (0 * 0)) + )\ + "AB" &= #solve[$mat( + 1&, 1&, -1&; + -1, 0&, -1&; + -1, -2&, 2& + )$]\ + $ + ] + ], + ) + +3. Compute $"AB"$ and $"BA"$. Does $"AB" = "BA"$? (10 pts) + + $A = mat(2, 2; 2, 1;)$ and $B = mat(1, 2; 1, 2;)$ + + #note[ + $ + "AB" &= mat(2, 2; 2, 1;) × mat(1, 2; 1, 2;)\ + "AB" &= mat(((2 * 1) + (2 * 1)), ((2 * 2) + (2 * 2)); ((2 * 1) + (1 * 1)), ((2 * 2) + (1 * 2));)\ + "AB" &= #solve[$mat(4, 8; 3, 6;)$]\ + $ + #align(center)[#line(length: 6cm)] + $ + "BA" &= mat(1, 2; 1, 2;) × mat(2, 2; 2, 1;) \ + "BA" &= mat(((1 * 2) + (2 * 2)), ((1 * 2) + (2 * 1)); ((1 * 2) + (2 * 2)), ((1 * 2) + (2 * 1));)\ + "BA" &= #solve[$mat(6, 4; 6, 4;)$]\ + $ + + #solve[$"AB" ≠ "BA"$] + ] + +4. Compute the transpose of matrix A (5 pts) + + $A = mat(9, 2, 5; 1, 0, 4;)$ + + #solve[ + $ + A^t &= mat(9, 1; 2, 0; 5, 4) + $ + ] + + #align(center)[#text(size: 2em)[#note[See next page]]] + +5. #block(breakable: false)[Represent the following system of linear equations using matrices + + $ + a_11x_1 + a_12x_2 + a_13x_3 + a_14x_4 &= b_1\ + a_21x_1 + a_22x_2 + a_23x_3 + a_24x_4 &= b_2\ + a_31x_1 + a_32x_2 + a_33x_3 + a_34x_4 &= b_3\ + a_41x_1 + a_42x_2 + a_43x_3 + a_44x_4 &= b_4 + $ + + The representation is $A*X = B$. What is matrices $A$, $X$, and $B$? (10 pts) + + #align(center)[ + #solve[ + #table( + stroke: (x, y) => ( + left: none, + top: if y > 0 { + .5pt + }, + ), + columns: (auto, auto, auto, auto, auto), + align: center + horizon, + table.header([$A$], [], [$X$], [], [$B$]), + [ + $ + mat( + delim: "(", + a_11, a_12, a_13, a_14; + a_21, a_22, a_23, a_24; + a_31, a_32, a_33, a_34; + a_41, a_42, a_43, a_44; + ) + $ + ], + [$⋅$], + [ + $ + mat(delim: "(", + x_1; + x_2; + x_3; + x_4; + ) + $ + ], + [$=$], + [ + $ + mat(delim: "(", + b_1; + b_2; + b_3; + b_4; + ) + $ + ], + ) + ] + ] + ] + +6. Show the adjacency matrix for the following graph. (20 pts) + + #figure( + image("./assets/graph.png", width: 60%), + ) + + #align(center)[ + #solve[ + #table( + stroke: (x, y) => ( + left: if y > 0 { + if x == 1 { + 0.5pt + } else if x > 1 { + .1pt + } + }, + top: if x > 0 { + if y == 1 { + 0.5pt + } else if y > 1 { + .1pt + } + }, + ), + columns: (auto, auto, auto, auto, auto, auto, auto), + fill: (x, y) => { + if calc.odd(y) and y > 0 and x > 0 { + color.hsl(200deg, 60%, 40%, 25%) + } else { + none + } + }, + inset: 3pt, + [ ], [A], [B], [C], [D], [E], [F], + [A], [1], [1], [0], [0], [1], [0], + [B], [1], [1], [1], [1], [1], [0], + [C], [0], [1], [1], [0], [1], [1], + [D], [0], [1], [0], [1], [1], [0], + [E], [1], [1], [1], [1], [1], [0], + [F], [0], [0], [1], [0], [0], [1], + ) + #notein[ + Sorry about the lack of _proper_ matrix notation. I had a hard time typesetting the row and column labels for matrices in particular in Typst :(. I have to wait on https://github.com/typst/typst/issues/445 to get resolved I guess. + + #text(size: .9em)[_Arguably though, that table _is_ easier to read._] + ] + ] + ] + +#align(center)[#text(size: 2em)[#note[See next page]]] + +7. #block(breakable: false)[Compute the determinant of matrix $A$. (20 pts) + $ + A = mat( + 6, 1, 4, 8; + 4, 2, 3, 2; + 4, 1, 2, 3; + 9, 7, 5, 6; + ) + $ + #align(center)[ + #note[ + #align(left)[#note[ + $|A| = 6mat( + 2, 3, 2; + 1, 2, 3; + 7, 5, 6; + ) - 1mat( + 4, 3, 2; + 4, 2, 3; + 9, 5, 6; + ) + 4mat( + 4, 2, 2; + 4, 1, 3; + 9, 7, 6; + ) - 8mat( + 4, 2, 3; + 4, 1, 2; + 9, 7, 5; + )$ + ]] + #align(left)[#note[ + #notein[The expanded values were found via *Sarrus' rule* for each $3 × 3$ matrix above.] + $ + |A| &=\ + 6&[ + (2 * 2 * 6) + (3 * 3 * 7) + (2 * 1 * 5) - (7 * 2 * 2) - ( + 5 * 3 * 2 + ) - (6 * 1 * 3) + ]\ + - 1&[ + (4 * 2 * 6) + (3 * 3 * 9) + (2 * 4 * 5) - (9 * 2 * 2) - ( + 5 * 3 * 4 + ) - (6 * 4 * 3) + ]\ + + 4&[ + (4 * 1 * 6) + (2 * 3 * 9) + (2 * 4 * 7) - (9 * 1 * 2) - ( + 7 * 3 * 4 + ) - (6 * 4 * 2) + ]\ + - 8&[ + (4 * 1 * 5) + (2 * 2 * 9) + (3 * 4 * 7) - (9 * 1 * 3) - ( + 7 * 2 * 4 + ) - (5 * 4 * 2) + ]\ + $ + ]] + #align(left)[#note[ + $ + |A| &= + 6[21] + - 1[1] + + 4[-16] + - 8[17]\ + $ + ] + ] + #align(center)[#solve[-75]] + ] + ] + ] diff --git a/Fall-2024/CS-3333/Assignments/4/assets/graph.png b/Fall-2024/CS-3333/Assignments/4/assets/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8d11f5eb50cc866c75f75fac1508f21caec95846 GIT binary patch literal 34038 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 literal 0 HcmV?d00001