def mx_rank(self): print("\n Operace: hodnost matice:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx) print("~(rank(A))~") self.__current_operation = MatrixREF(mx) mx_res = self.__current_operation.calculate_ref() self.operation_result = self.__current_operation.rank print(self.operation_result)
def mx_determinant(self): print("\n Operace výpočet determinantu:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx) print("~(det(A))~") self.__current_operation = MatrixDeterminant(mx) self.operation_result = self.__current_operation.calculate_determinant( ) print(self.operation_result)
def mx_rref(self): print("\nOperace: RREF:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx) print("~(RREF)~") print(" - " * (mx.m * 2)) self.__current_operation = MatrixRREF(mx) self.operation_result = self.__current_operation.calculate_rref() MatrixConsolePrinter.print_default(self.operation_result)
def mx_transpose(self): print("\nOperace: Transpozice:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx) print("~(A^(T))~") print(" - " * (mx.m * 2)) self.__current_operation = MatrixTransposition(mx) self.operation_result = self.__current_operation.calculate_transpose() MatrixConsolePrinter.print_default(self.operation_result)
def mx_inverse(self): print("\nOperace: určení inverzní matice:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx) print("~(A^(-1))~") print(" - " * (mx.m * 2)) self.__current_operation = MatrixInversion(mx) self.operation_result = self.__current_operation.calculate_inversion_of_matrix( ) if self.__current_operation.inversion_state: MatrixConsolePrinter.print_default(self.operation_result)
def mx_scalar_multiply(self): print("\nOperace násobení skalárem:") print("\nZadání matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx = self.__read_mx_data(self) print("Zadejte skalár:") scalar = self.input_reader.read_scalar() MatrixConsolePrinter.print_default(mx) print("*(", scalar, ")", sep="") print(" - " * (mx.m * 2)) self.__current_operation = MatrixScalarMultiplication(mx, scalar) self.operation_result = self.__current_operation.calculate_scalar_multiplication( ) MatrixConsolePrinter.print_default(self.operation_result)
def mx_add(self): #1) print("\nOperace sčítání:") #2) print("\nZadání 1. matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx1 = self.__read_mx_data(self) self.dims_check = lambda sec_mx_dims: Helpers.invalid_dims_addition( sec_mx_dims, mx1) print("\nZadání 2. matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx2 = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx1) print("(+)") MatrixConsolePrinter.print_default(mx2) print(" - " * (mx2.m * 2)) self.__current_operation = MatrixAddition(mx1, mx2) self.operation_result = self.__current_operation.calculate_sum() MatrixConsolePrinter.print_default(self.operation_result)
def mx_multiply(self): print("\nOperace: Maticové Násobení:") print("\nZadání 1. matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx1 = self.__read_mx_data(self) self.dims_check = lambda sec_mx_dims: Helpers.invalid_dims_multiplication( sec_mx_dims, mx1) print("\nZadání 2. matice:") print("¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯") mx2 = self.__read_mx_data(self) MatrixConsolePrinter.print_default(mx1) print("~(*)~") MatrixConsolePrinter.print_default(mx2) print(" - " * (mx2.m * 2)) self.__current_operation = MatrixMultiplication(mx1, mx2) self.operation_result = self.__current_operation.calculate_multiplication( ) MatrixConsolePrinter.print_default(self.operation_result)