RandomMatrixRank

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

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