RandomMatrixRank: Unterschied zwischen den Versionen

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


===Syntax===
===Syntax===
  randomMatrixRank(String matrix, String zahl1, String zahl2, String zahl3, String zahl4)
  randomMatrixRank(SageSyntax zahlenraum, [[Ganzzahl]] zahl1, [[Ganzzahl]] zahl2, [[Ganzzahl]] zahl3, [[Ganzzahl]] zahl4)


===Parameter===
===Parameter===
* '''matrix''' - Gibt an in welchen Zahlenraum die Matrix sein soll, z.B. 'ZZ' für ganze Zahlen und 'QQ' für rationale Zahlen.
* '''zahlenraum''' - Gibt an in welchen Zahlenraum die Matrix sein soll, z.B. 'ZZ' für ganze Zahlen und 'QQ' für rationale Zahlen. (SageSyntax)
* '''zahl1''' - Gibt die Anzahl der Zeilen n der nxm-Matrix an.
* '''zahl1''' - Gibt die Anzahl der Zeilen n der nxm-Matrix an.
* '''zahl2''' - Gibt die Anzahl der Spalten m der nxm-Matrix an.
* '''zahl2''' - Gibt die Anzahl der Spalten m der nxm-Matrix an.
Zeile 16: Zeile 16:


===Beispiele===
===Beispiele===
  randomMatrixRank('QQ','2','2','2')
  randomMatrixRank('QQ',2,2,2)


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


====JUnit Tests====
====JUnit Tests====
Zeile 87: Zeile 87:
  evaluateInSage('[var=Matrix].rank()')    --> Gibt den Rang der Matrix zurück
  evaluateInSage('[var=Matrix].rank()')    --> Gibt den Rang der Matrix zurück


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]][[Kategorie:Matrixfunktionen]]

Version vom 5. Oktober 2017, 12:52 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(SageSyntax zahlenraum, Ganzzahl zahl1, Ganzzahl zahl2, Ganzzahl zahl3, Ganzzahl zahl4)

Parameter

  • zahlenraum - Gibt an in welchen Zahlenraum die Matrix sein soll, z.B. 'ZZ' für ganze Zahlen und 'QQ' für rationale Zahlen. (SageSyntax)
  • 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