RandomMatrixRank: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 23: Zeile 23:
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Before
@BeforeClass
public void beforeTest(){
public static void beforeTest() {
  placeExerciseVariable("a", OMParser.parse("3"));
randomMatrixRankFillInVariableMap.put(1, OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));
  placeFillInVariable(1, OMParser.parse("3"));
 
randomMatrixRankExerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));
}
 
@Test
public void testRandomMatrixEigenValue1() {
Evaluator.evaluate("randomMatrixRank('QQ', '3', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test
@Test
public void testRandomMatrixEigenValue(){
public void testRandomMatrixEigenValue2() {
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '2', '2')");
Evaluator.evaluate("randomMatrixRank('QQ', '3', '3', '1')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '3', '1')");
  getEvaluator().getResultAsLatexString("randomMatrixRank('ZZ', '2', '2', '1', '2')");
}
}
 
@Test
@Test
public void testRandomMatrixEigenValueWithInput(){
public void testRandomMatrixEigenValue3() {
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[pos=1]', '2', '2')");
Evaluator.evaluate("randomMatrixRank('ZZ', '2', '2', '1', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test
@Test
public void testRandomMatrixEigenValueWithVariables(){
public void testRandomMatrixEigenValueWithInput() {
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[var=a]', '2', '2')");
Evaluator.evaluate("randomMatrixRank('QQ', '[pos=1]', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=CASEvaluationException.class)
@Test
public void testRandomMatrixEigenValueWithWrongBaseRing(){
public void testRandomMatrixEigenValueWithVariables() {
  getEvaluator().getResultAsLatexString("randomMatrixRank('RR', '3', '2', '2')");
Evaluator.evaluate("randomMatrixRank('QQ', '[var=a]', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=InvalidCASFunctionArgumentException.class)
@Test(expected = ParserException.class)
public void testRandomMatrixEigenValueWithONECharacter(){
public void testRandomMatrixEigenValueWithONECharacter() {
  getEvaluator().getNumberResult("randomMatrixRank(a, a, a, a)");
Evaluator.evaluate("randomMatrixRank(ab, ab, ab, ab)", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=InvalidCASFunctionArgumentException.class)
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
  getEvaluator().getNumberResult("randomMatrixRank('', '', '', '')");
Evaluator.evaluate("randomMatrixRank('', '', '', '')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=InvalidCASFunctionArgumentException.class)
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testRandomMatrixEigenValueWithEmptyArgument() {
public void testRandomMatrixEigenValueWithEmptyArgument() {
  getEvaluator().getNumberResult("randomMatrixRank()");
Evaluator.evaluate("randomMatrixRank()", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=UndefinedExerciseVariableException.class)
@Test(expected = UndefinedExerciseVariableException.class)
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
  getEvaluator().getNumberResult("randomMatrixRank('[var=j]', '[var=j]', '[var=j]', '[var=j]')");
Evaluator.evaluate("randomMatrixRank('[var=j]', '[var=j]', '[var=j]', '[var=j]')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
 
@Test(expected=UndefinedFillInVariableException.class)
@Test(expected = UndefinedFillInVariableException.class)
public void testRandomMatrixEigenValueWithoutInput() {
public void testRandomMatrixEigenValueWithoutInput() {
  getEvaluator().getNumberResult("randomMatrixRank('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')");
Evaluator.evaluate("randomMatrixRank('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}
}
</syntaxhighlight>
</syntaxhighlight>

Version vom 19. September 2017, 08:39 Uhr

Beschreibung

Die Funktion randomMatrixRank erzeugt zufällig eine Matrix in dem angegebenen Zahlenraum, der angegebenen Anzahl der Zeilen und Spalten, den angegebenen Rang und (optional) der angegebenen oberen Grenze für die Einträge.

Syntax

randomMatrixRank(String matrix, String zahl1, String zahl2, String zahl3, String zahl4)

Parameter

  • matrix - Gibt an in welchen Zahlenraum die Matrix sein soll, z.B. 'ZZ' für ganze Zahlen und 'QQ' für rationale Zahlen.
  • zahl1 - Gibt die Anzahl der Zeilen n der nxm-Matrix an.
  • zahl2 - Gibt die Anzahl der Spalten m der nxm-Matrix an.
  • zahl3 - Gibt den Rang der Matrix an. Der Wert muss kleiner gleich m und n sein.
  • zahl4 - Gibt die obere Grenze für die Einträge an (optional), Beispiel: 10 -> [-10,10].

Return Value

  • Gibt die Matrix als OpenMathObject zurück.

Beispiele

randomMatrixRank('QQ','2','2','2')
randomMatrixRank('QQ','3','4','3','7')

JUnit Tests

[Anzeigen]

@BeforeClass
public static void beforeTest() {
	
		randomMatrixRankFillInVariableMap.put(1, OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));

		randomMatrixRankExerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));
	
}

@Test
public void testRandomMatrixEigenValue1() {
	Evaluator.evaluate("randomMatrixRank('QQ', '3', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test
public void testRandomMatrixEigenValue2() {
	Evaluator.evaluate("randomMatrixRank('QQ', '3', '3', '1')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test
public void testRandomMatrixEigenValue3() {
	Evaluator.evaluate("randomMatrixRank('ZZ', '2', '2', '1', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test
public void testRandomMatrixEigenValueWithInput() {
	Evaluator.evaluate("randomMatrixRank('QQ', '[pos=1]', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test
public void testRandomMatrixEigenValueWithVariables() {
	Evaluator.evaluate("randomMatrixRank('QQ', '[var=a]', '2', '2')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test(expected = ParserException.class)
public void testRandomMatrixEigenValueWithONECharacter() {
	Evaluator.evaluate("randomMatrixRank(ab, ab, ab, ab)", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
	Evaluator.evaluate("randomMatrixRank('', '', '', '')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testRandomMatrixEigenValueWithEmptyArgument() {
	Evaluator.evaluate("randomMatrixRank()", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test(expected = UndefinedExerciseVariableException.class)
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
	Evaluator.evaluate("randomMatrixRank('[var=j]', '[var=j]', '[var=j]', '[var=j]')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

@Test(expected = UndefinedFillInVariableException.class)
public void testRandomMatrixEigenValueWithoutInput() {
	Evaluator.evaluate("randomMatrixRank('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')", randomMatrixRankExerciseVariableMap, randomMatrixRankFillInVariableMap);
}

Hinweise

  • Mit der Funktion evaluateInSage lassen sich die Eigenschaften der Matrix abfragen, z.B.
evaluateInSage('[var=Matrix].rank()')    --> Gibt den Rang der Matrix zurück