diff --git a/.gitea/workflows/build-script.yaml b/.gitea/workflows/build-script.yaml index 87238fa..ecd345b 100644 --- a/.gitea/workflows/build-script.yaml +++ b/.gitea/workflows/build-script.yaml @@ -43,6 +43,11 @@ jobs: continue-on-error: true run: typst compile --root src src/cheatsheets/Digitaltechnik.typ "build/sem1-Digitaltechnik.pdf" + - name: Compile CT + continue-on-error: true + run: typst compile --root src src/cheatsheets/CT.typ "build/sem1-Computertechnik.pdf" + + - name: Create Gitea Release continue-on-error: true uses: akkuman/gitea-release-action@v1 diff --git a/src/cheatsheets/CT.typ b/src/cheatsheets/CT.typ new file mode 100644 index 0000000..83d04b9 --- /dev/null +++ b/src/cheatsheets/CT.typ @@ -0,0 +1,47 @@ +#import "../lib/styles.typ" : * +#import "../lib/common_rewrite.typ" : * + +#set page( + paper: "a4", + margin: ( + bottom: 10mm, + top: 5mm, + left: 5mm, + right: 5mm + ), + flipped:true, + numbering: "— 1 —", + number-align: center +) + +#set text(size: 8pt) + +#place(top+center, scope: "parent", float: true, heading( + [LComputer Technik/Programmierpraktikum EI] +)) + +#let Allgemein = color.hsl(105.13deg, 92.13%, 75.1%) +#let colorProgramming = color.hsl(330.19deg, 100%, 68.43%) +#let colorNumberSystems = color.hsl(202.05deg, 92.13%, 75.1%) +// #let colorVR = color.hsl(280deg, 92.13%, 75.1%) +// #let colorAbbildungen = color.hsl(356.92deg, 92.13%, 75.1%) +// #let colorGruppen = color.hsl(34.87deg, 92.13%, 75.1%) + + +#let SeperatorLine = line(length: 100%, stroke: (paint: black, thickness: 0.3mm)) +#let MathAlignLeft(e) = { + align(left, block(e)) +} +#columns(4, gutter: 2mm)[ + #bgBlock(fill: colorNumberSystems)[ + #subHeading(fill: colorNumberSystems)[ASCII Ranges] + + #table( + columns: (1fr, 1fr, 1fr), + [Range], [Hex], [Bits], + [Lower Case], [$"0x41"..."0x5A"$], [$"XX0X XXXX"$ (bit 6)], + [Upper Case], [$"0x61"..."0x7A"$], [$"XX1X XXXX"$ (bit 6)], + [Ganz ASCII], [$"0x00"..."0x7F"$], [$"0XXX XXXX"$] + ) + ] +] \ No newline at end of file diff --git a/src/cheatsheets/LinearAlgebra.typ b/src/cheatsheets/LinearAlgebra.typ index c98942c..431d2f3 100644 --- a/src/cheatsheets/LinearAlgebra.typ +++ b/src/cheatsheets/LinearAlgebra.typ @@ -332,32 +332,33 @@ #subHeading(fill: colorMatrixVerfahren)[Diagonalisierung] $A = R D R^(-1)$ - #grid( - columns: (1fr, 1fr), - $D = mat( - lambda_1, 0, 0,...; - 0, lambda_1, 0, ...; - 0, 0, lambda_2, ...; - dots.v, dots.v, dots.v, dots.down - )$, - - $D^n = mat( - lambda_1^n, 0, 0,...; - 0, lambda_1^n, 0, ...; - 0, 0, lambda_2^n, ...; - dots.v, dots.v, dots.v, dots.down - )$ - ) \ - *Rezept Diagonalisierung* - 1. *EW* bestimmen - 2. $chi_A$ bestimmen und in $(lambda_0 - lambda)^(n_0) dot (lambda_1 - lambda)^(n_1) ...$ Form bringen \ - $chi_A$ nicht vollstandig zerfällt (in $RR$), $=>$ NICHT diagonalisierbar - 3. *EV* bestimmen - 4. $R = mat( bar, bar, ..; v_(lambda 0), v_(lambda 1), ...; bar, bar, ...)$ - 5. $R^(-1)$ bestimmen - ] + 1. EW bestimmen: $det(A - lambda I) = 0$ \ + $=> chi_A = (lambda_1 - lambda)^(m 1) (lambda_2 - lambda)^(m 2) ...$ + 2. EV bestimmen: $spann(kern(A - lambda_i I))$: $r_0, r_1, ...$ + 3. \ + #grid(columns: (1fr, 1fr), + [ + Diagnoalmatrix: $D$ + $mat( + lambda_1, 0, 0,...; + 0, lambda_1, 0, ...; + 0, 0, lambda_2, ...; + dots.v, dots.v, dots.v, dots.down + ) + $ + ], + [ + Basiswechselmatrix: $R$ + $mat( + |, | , ..., |; + r_0, r_1, ..., r_n; + |, |, ..., | + )$ + ] + ) + ] #bgBlock(fill: colorMatrixVerfahren)[ @@ -368,31 +369,24 @@ #bgBlock(fill: colorMatrixVerfahren)[ #subHeading(fill: colorMatrixVerfahren)[SVD] - $A in RR^(m times n)$ zerlegbar in $A = U Sigma V^T$ \ + $A in RR^(m times n)$ zerlegbar in $A = L S R^T$ \ - $U in RR^(m times m)$ Orthogonal \ - $Sigma in RR^(m times n)$ Diagonal \ - $V in RR^(n times n)$ Orthogonal + $L in RR^(m times m)$ Orthogonal \ + $S in RR^(m times n)$ Diagonal \ + $R in RR^(n times n)$ Orthogonal - 1. $A^T A$ berechnen $A^T A in RR^(k times k), k = min(n, m)$ + 1. $A A^T$ berechnen $A A^T in RR^(m times m)$ - 2. Eigenwerte bestimmen $det(A^T A - E lambda) = 0$ \ - $lambda_0, lambda_1 ... lambda_k$ nach Größe sortieren \ - Singulärewerte: $sigma_i = sqrt(lambda_i)$ + 2. $A A^T$ diagonalisieren in $R$, $D$ - 3. Eigenvekoren von $A^T A$ bestimmen und *Normalisieren* - $v_(lambda 0), v_(lambda 1), ... v_(lambda k)$ - - 4. $V = mat( |, |, ..., |; v_0, v_1, ..., v_n; |, |, ..., |) --> V^T$ \ + 3. Singulärwere berechen: $sigma_i = sqrt(lambda_i) $ + + 4. $l_i = 1/sigma_i A v_(lambda i) quad quad L = mat( |, |, ..., |; l_0, l_1, ..., l_m; |, |, ..., |)$ \ (Evt. zu ONB ergenze mit Gram-Schmit/Kreuzprodukt) - 5. $u_i = 1/sigma_i A v_(lambda i) quad quad L = mat( |, |, ..., |; u_0, u_1, ..., u_m; |, |, ..., |)$ \ - (Evt. zu ONB ergenze mit Gram-Schmit/Kreuzprodukt) - - 6. $S in RR^(n times m)$ (wie $A$): - + 5. $S in RR^(n times m)$ (wie $A$): \ $S = mat(sigma_0, 0; 0, sigma_1; dots.v, dots.v; 0, 0) quad quad quad S = mat(sigma_0, 0, dots, 0; 0, sigma_1, ..., 0)$ ]