// Numbas version: exam_results_page_options {"name": "Wie viele lineare Abbildung gibt es, so dass ... (\u00fcber $\\mathbb F_p$)", "extensions": ["linearalgebra2"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Wie viele lineare Abbildung gibt es, so dass ... (\u00fcber $\\mathbb F_p$)", "tags": [], "metadata": {"description": "

Compute how many linear maps $\\mathbb F_p^n\\to \\mathbb F_p^m$ exist which take prescribed values on a given set of elements in $\\mathbb F_p^n$ (which is linearly dependent).

", "licence": "Creative Commons Attribution 4.0 International"}, "statement": "

Wir betrachten den Körper $\\mathbb F_{\\var{p}}$.

", "advice": "

Allgemeine Vorbemerkung: Wir haben gesehen, dass wir ganz allgemein eine lineare Abbildung $V\\to W$ definieren können, indem wir auf einer Basis von $V$ beliebige Werte vorgeben. Ein linear unabhängiges System von Vektoren können wir stets zu einer Basis ergänzen; daher können wir auch immer eine lineare Abbildung finden, die auf einer linear unabhängigen Familie $v_1, \\dots, v_r$ vorgegebene Werte annimmt, sofern es keine anderen Bedingungen gibt. Diese lineare Abbildung ist dadurch auf dem ganzen Untervektorraum $\\langle v_1, \\dots, v_r\\rangle$ eindeutig bestimmt, denn jedes Element darin lässt sich als Linearkombination von $v_1, \\dots, v_r$ schreiben, und wegen der Linearität können wir den Abbildungswert durch die Werte $f(v_1), \\dots, f(v_r)$ ausdrücken. Für die hier gegebene Aufgabe müssen wir also zwei Fragen beantworten. Wir schreiben $n =\\var{n}$, $m=\\var{m}$, um das Prinzip allgemein formulieren zu können.

\n\n

Um die Rechnung im gegebenen Beispiel durchzuführen, schreiben wir die Vektoren \"auf der linken Seite der $\\mapsto$-Pfeile\" als die Spalten der Matrix

\n

\\[ A = \\var{random_invertible * A}. \\]

\n

Dann bilden die Vektoren in den Spalten mit Index in $\\var{set(pivots)}$ eine Basis des von allen Spalten erzeugten Untervektorraums, wie wir an der reduzierten Zeilenstufenform von $A$ sehen (siehe den Hinweis). Auf diesen die Werte vorzugeben, ist also kein Problem. Wir erhalten dadurch eine lineare Abbildung $g$ vom Untervektorraum, der von den Spalten von $A$ erzeugt wird, nach $\\mathbb F_{\\var{p}}^\\var{m}$. Eine lineare Abbildung der gewünschten Form existiert genau dann, wenn die Abbildung $g$ auch die Vektoren in den Spalten mit Index in $\\var{set(non_pivots)}$ auf die vorgegebenen Werte abbildet. Wir sehen an der reduzierten Zeilenstufenform, wie wir die Spalten mit Index in $\\var{set(non_pivots)}$ als Linearkombination der anderen Spalten ausdrücken können, und können damit die Werte von $g$ auf diesen Vektoren berechnen.

\n
\n

Im gegebenen Beispiel hat $g$ tatsächlich für jede Spalte von $A$ den gewünschten Wert. Der von den Spalten von $A$ erzeugte Untervektorraum hat Dimension $\\var{n}$, ist also gleich $\\mathbb F_{\\var{p}}^{\\var{n}}$, und $g$ ist die einzige solche Abbildung.Indem wir die Basis des von den Spalten von $A$ erzeugten Untervektorraums zu einer Basis von $\\mathbb F_{\\var{p}}^\\var{n}$ ergänzen und auf den zusätzlichen Basisvektoren beliebige Werte vorgeben, erhalten wir lineare Abbildungen mit den gewünschten Eigenschaften, insgesamt $\\var{p}^{\\var{m*(n-len(pivots))}} = \\var{num_maps}$ Abbildungen.

\n
\n

Im gegebenen Beispiel hat $g$ für den Vektor in Spalte $\\var{error_column}$ den Wert $\\var{ec}$ , und das ist nicht der vorgegebene Wert. Es existiert also keine lineare Abbildung mit den genannten Werten.

", "rulesets": {}, "extensions": ["linearalgebra2"], "variables": {"num_rows": {"name": "num_rows", "group": "Ungrouped variables", "definition": "n", "description": "", "templateType": "anything"}, "num_columns": {"name": "num_columns", "group": "Ungrouped variables", "definition": "random(n..n+2)", "description": "", "templateType": "anything"}, "A": {"name": "A", "group": "Ungrouped variables", "definition": "random_ref(num_rows, num_columns, pivots)", "description": "

(The columns are) a set of vectors in $K^n$.

", "templateType": "anything"}, "m": {"name": "m", "group": "Ungrouped variables", "definition": "random(3..4)", "description": "", "templateType": "anything"}, "n": {"name": "n", "group": "Ungrouped variables", "definition": "random(3..4)", "description": "", "templateType": "anything"}, "pivots": {"name": "pivots", "group": "Ungrouped variables", "definition": "[1,2] + sort(shuffle(3..num_columns)[0..num_pivots-2])", "description": "", "templateType": "anything"}, "B": {"name": "B", "group": "Ungrouped variables", "definition": "F*A + error_term", "description": "", "templateType": "anything"}, "F": {"name": "F", "group": "Ungrouped variables", "definition": "matrix(repeat(repeat(random(-3..3), n), m))", "description": "", "templateType": "anything"}, "non_pivots": {"name": "non_pivots", "group": "Ungrouped variables", "definition": "filter(!(x in pivots), x, 1..num_columns)", "description": "", "templateType": "anything"}, "error_term": {"name": "error_term", "group": "Ungrouped variables", "definition": "if(\n (random(1..100) < 50) or (len(non_pivots) = 0),\n matrix(repeat(repeat(0, num_columns), m)),\n let(\n row, random(1..m),\n matrix(map(switch(\n r = row, single_entry(num_columns, random(non_pivots), 1),\n repeat(0, num_columns)\n ), r, 1..m))\n )\n)", "description": "", "templateType": "anything"}, "num_maps": {"name": "num_maps", "group": "Ungrouped variables", "definition": "if(all(map(all(map(x=0, x, row)), row, list(error_term))),\n p^(m*(n - num_pivots)),\n // else\n 0\n)", "description": "", "templateType": "anything"}, "num_pivots": {"name": "num_pivots", "group": "Ungrouped variables", "definition": "max(2, min(m, num_columns - random(0..3)))", "description": "", "templateType": "anything"}, "random_invertible": {"name": "random_invertible", "group": "Ungrouped variables", "definition": "modp(random_trafo(n, [1,1,1,2,1,1,3,2,3,1,1]), 7)", "description": "", "templateType": "anything"}, "error_column": {"name": "error_column", "group": "Ungrouped variables", "definition": "if(\n num_maps > 0,\n -1,\n filter(!(columns(error_term)[col]= repeat(0, m)), col, 0..num_columns-1)[0]+1)", "description": "", "templateType": "anything"}, "ec": {"name": "ec", "group": "Ungrouped variables", "definition": "let(c1, columns(B)[error_column-1],\n c2, columns(error_term)[error_column-1],\n vector(map(mod(c1[c] - c2[c], p), c, 0..m-1)))", "description": "", "templateType": "anything"}, "p": {"name": "p", "group": "Ungrouped variables", "definition": "random(5,7)", "description": "", "templateType": "anything"}}, "variablesTest": {"condition": "len(non_pivots)>1", "maxRuns": 100}, "ungrouped_variables": ["num_rows", "num_columns", "A", "m", "n", "pivots", "B", "F", "non_pivots", "error_term", "num_maps", "num_pivots", "random_invertible", "error_column", "ec", "p"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Wie viele lineare Abbildungen $\\mathbb F_{\\var{p}}^{\\var{n}} \\to \\mathbb F_{\\var{p}}^{\\var{m}}$, gibt es, so dass

\n

\\[ \\var{latex(latex_mapsto(modp(random_invertible*A, p), modp(B, p)))}? \\]

\n

[[0]] (Bei dieser Aufgabe können Sie Potenzen $a^b$ als a^b eingeben; Sie müssen den Wert nicht ausrechnen.)

", "stepsPenalty": 0, "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Die reduzierte Zeilenstufenform der Matrix

\n

\\[ \\var{modp(random_invertible * A, p)} \\]

\n

ist

\n

\\[ \\var{modp(A, p)}. \\]

"}], "gaps": [{"type": "jme", "useCustomName": false, "customName": "", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "answer": "{num_maps}", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "valuegenerators": []}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "contributors": [{"name": "Ulrich G\u00f6rtz", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7603/"}]}]}], "contributors": [{"name": "Ulrich G\u00f6rtz", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7603/"}]}