RandomMatrixEigenvalue: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''randomMatrixEigenvalue'' gibt eine diagonalisierbare Matrix zurück. Die Funktion wird in Sage bearbeitet. Sie braucht die Matrix, die Eigenwerte und die Dimension der jeweiligen Eigenräume als Eingabewerte und gibt die Matrix zurück.
Die Funktion ''randomMatrixEigenvalue'' gibt eine diagonalisierbare Matrix zurück. Die Funktion wird in Sage bearbeitet. Sie braucht die Matrix, die Eigenwerte und die Dimension der jeweiligen Eigenräume als Eingabewerte und gibt die Matrix zurück.
Zeile 15: Zeile 18:


===Beispiele===
===Beispiele===
  randomMatrixEigenvalue(qq(),2,list(1,2),list(1,1))
  randomMatrixEigenvalue(qq(),2,list(1,2),list(1,1))  --> returns \(\begin{pmatrix}5 && 12\\-1 && -2\end{pmatrix}\)
 
  randomMatrixEigenvalue(qq(),3,list(2,3,4),list(1,1,1))
  randomMatrixEigenvalue(qq(),3,list(2,3,4),list(1,1,1))   --> returns \(\begin{pmatrix}0 && -1 && 3\\2 && 4 && -1 \\ -2 && -1 && 5\end{pmatrix}\)
 
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,
UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException,
ErroneousExerciseVariableException {
randomMatrixEigenvalueFillInVariableMap.put(1, ExpressionParser.parse("'[1,1,1]'", null, null));
 
randomMatrixEigenvalueExerciseVariableMap.put("a", ExpressionParser.parse("'[1,1,1]'", null, null));
}
 
@Test
public void testRandomMatrixEigenValue1() {
assertEquals(ExpressionParser.parse("matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))", null, null),
Evaluator.evaluate("randomMatrixEigenvalue('QQ', '3', '[1,1,1]', '[1,1,1]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));
}
 
@Test
public void testRandomMatrixEigenValue2() {
assertEquals(ExpressionParser.parse("matrix(matrixrow(1,0), matrixrow(0,1))", null, null),
Evaluator.evaluate("randomMatrixEigenvalue('RR', '2', '[1,1]', '[1,1]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));
}
 
@Test
public void testRandomMatrixEigenValue3() {
assertEquals(ExpressionParser.parse("matrix(matrixrow(1))", null, null),
Evaluator.evaluate("randomMatrixEigenvalue('ZZ', '1', '[1]', '[1]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));
}
 
@Test
public void testRandomMatrixEigenValueWithInput() {
assertEquals(ExpressionParser.parse("matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))", null, null),
Evaluator.evaluate("randomMatrixEigenvalue('QQ', '3', '[var=a]', '[var=a]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));
}
 
@Test
public void testRandomMatrixEigenValueWithVariables() {
assertEquals(ExpressionParser.parse("matrix(matrixrow(1,0,0), matrixrow(0,1,0), matrixrow(0,0,1))", null, null),
Evaluator.evaluate("randomMatrixEigenvalue('QQ', '3', '[pos=1]', '[pos=1]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap));
}
 
@Test(expected = ParserException.class)
public void testRandomMatrixEigenValueWithONECharacter() {
Evaluator.evaluate("randomMatrixEigenvalue(ab, ab, ab, ab)", randomMatrixEigenvalueExerciseVariableMap,
randomMatrixEigenvalueFillInVariableMap);
fail();
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
Evaluator.evaluate("randomMatrixEigenvalue('', '', '', '')", randomMatrixEigenvalueExerciseVariableMap,
randomMatrixEigenvalueFillInVariableMap);
fail();
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testRandomMatrixEigenValueWithEmptyArgument() {
Evaluator.evaluate("randomMatrixEigenvalue()", randomMatrixEigenvalueExerciseVariableMap,
randomMatrixEigenvalueFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedExerciseVariableException.class)
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
Evaluator.evaluate("randomMatrixEigenvalue('[var=j]', '[var=j]', '[var=j]', '[var=j]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedFillInVariableException.class)
public void testRandomMatrixEigenValueWithoutInput() {
Evaluator.evaluate("randomMatrixEigenvalue('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')",
randomMatrixEigenvalueExerciseVariableMap, randomMatrixEigenvalueFillInVariableMap);
fail();
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
* Mit der Funktion [[evaluateInSage]] lassen sich die Eigenschaften der Matrix abfragen, z.B.
* Mit der Funktion [[evaluateInSage]] lassen sich die Eigenschaften der Matrix abfragen, z.B.
  evaluateInSage('[var=Matrix].is_diagonalizable()')    --> Gibt ''true'' zurück, wenn die Matrix diagonalisierbar ist
  evaluateInSage('[var=Matrix].is_diagonalizable()')    --> returns ''true'' zurück, wenn die Matrix diagonalisierbar ist


[[Kategorie:Evaluatorfunktion]][[Kategorie:Matrixfunktionen]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Listfunktionen]][[Kategorie:lineare Algebra]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 18. April 2024, 12:52 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion randomMatrixEigenvalue gibt eine diagonalisierbare Matrix zurück. Die Funktion wird in Sage bearbeitet. Sie braucht die Matrix, die Eigenwerte und die Dimension der jeweiligen Eigenräume als Eingabewerte und gibt die Matrix zurück.

Syntax

randomMatrixEigenvalue(Zahlenraum zahlenraum, Ganzzahl zahl, List eigenwerte, List dimension)

Parameter

  • zahlenraum - Gibt an, ob die Matrix als Matrix über die ganzen Zahlen zz(), über die rationalen Zahlen qq() oder als Matrix über den reellen Zahlen rr() aufgefasst werden soll.
  • zahl - Gibt die Anzahl der Zeilen und Spalten der nxn-Matrix an: 1 -> 1x1, 2 -> 2x2, 3 -> 3x3, ..., n -> nxn
  • eigenwerte - Gibt die Eigenwerte der Matrix an.
  • dimension - Gibt die Dimension der jeweiligen Eigenräume an. Dabei ist der Index derselbe wie bei dem zugehörigen Eigenwert.

Return Value

Beispiele

randomMatrixEigenvalue(qq(),2,list(1,2),list(1,1))   --> returns \(\begin{pmatrix}5 && 12\\-1 && -2\end{pmatrix}\)

randomMatrixEigenvalue(qq(),3,list(2,3,4),list(1,1,1))   --> returns \(\begin{pmatrix}0 && -1 && 3\\2 && 4 && -1 \\ -2 && -1 && 5\end{pmatrix}\)

Hinweise

  • Mit der Funktion evaluateInSage lassen sich die Eigenschaften der Matrix abfragen, z.B.
evaluateInSage('[var=Matrix].is_diagonalizable()')    --> returns true zurück, wenn die Matrix diagonalisierbar ist