RandomMatrixRank: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:


  randomMatrixRank('QQ','3','4','3','7')
  randomMatrixRank('QQ','3','4','3','7')
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest(){
  placeExerciseVariable("a", OMParser.parse("3"));
  placeFillInVariable(1, OMParser.parse("3"));
}
@Test
public void testRandomMatrixEigenValue(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '2', '2')");
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '3', '1')");
  getEvaluator().getResultAsLatexString("randomMatrixRank('ZZ', '2', '2', '1', '2')");
}
@Test
public void testRandomMatrixEigenValueWithInput(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[pos=1]', '2', '2')");
}
@Test
public void testRandomMatrixEigenValueWithVariables(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[var=a]', '2', '2')");
}
@Test(expected=CASEvaluationException.class)
public void testRandomMatrixEigenValueWithWrongBaseRing(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('RR', '3', '2', '2')");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithONECharacter(){
  getEvaluator().getNumberResult("randomMatrixRank(a, a, a, a)");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
  getEvaluator().getNumberResult("randomMatrixRank('', '', '', '')");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithEmptyArgument() {
  getEvaluator().getNumberResult("randomMatrixRank()");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
  getEvaluator().getNumberResult("randomMatrixRank('[var=j]', '[var=j]', '[var=j]', '[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testRandomMatrixEigenValueWithoutInput() {
  getEvaluator().getNumberResult("randomMatrixRank('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')");
}
</syntaxhighlight>


===Hinweise===
===Hinweise===

Version vom 21. Juni 2017, 11:04 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

@Before
public void beforeTest(){
  placeExerciseVariable("a", OMParser.parse("3"));
		
  placeFillInVariable(1, OMParser.parse("3"));
}
	
@Test
public void testRandomMatrixEigenValue(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '2', '2')");
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '3', '3', '1')");
  getEvaluator().getResultAsLatexString("randomMatrixRank('ZZ', '2', '2', '1', '2')");
}
	
@Test
public void testRandomMatrixEigenValueWithInput(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[pos=1]', '2', '2')");
}
	
@Test
public void testRandomMatrixEigenValueWithVariables(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('QQ', '[var=a]', '2', '2')");
}
	
@Test(expected=CASEvaluationException.class)
public void testRandomMatrixEigenValueWithWrongBaseRing(){
  getEvaluator().getResultAsLatexString("randomMatrixRank('RR', '3', '2', '2')");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithONECharacter(){
  getEvaluator().getNumberResult("randomMatrixRank(a, a, a, a)");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithEmptyStringArgument() {
  getEvaluator().getNumberResult("randomMatrixRank('', '', '', '')");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testRandomMatrixEigenValueWithEmptyArgument() {
  getEvaluator().getNumberResult("randomMatrixRank()");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testRandomMatrixEigenValueWithoutExerciseVariable() {
  getEvaluator().getNumberResult("randomMatrixRank('[var=j]', '[var=j]', '[var=j]', '[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testRandomMatrixEigenValueWithoutInput() {
  getEvaluator().getNumberResult("randomMatrixRank('[pos=42]', '[pos=42]', '[pos=42]', '[pos=42]')");
}

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