Determinant Calculator
Calcula o determinante de qualquer matriz quadrada
Loading...
Searching...
No Matches
calculator.h
Go to the documentation of this file.
1
7#ifndef CALCULATOR_H
8# define CALCULATOR_H
9
10# include "./common.h"
11
12namespace det {
13
21 /*
22 * @brief Lista ordenada que armazena a permutação
23 */
24 std::vector<int> permutation;
25 /*
26 * @brief Se o número de alterações para ordenar a permutação é par ou não
27 */
28 bool mods_even;
29};
30
39 public:
40 void setup(const Matrix& matrix);
41 void calc_determinant();
42 void print_result();
43
44 private:
45 Matrix m_matrix;
46 size_t m_matrix_order;
47 int m_det;
48 std::vector<ElementarProductCols> m_elementar_products;
49
50 std::vector<int> get_numbers_range(int start, int end);
51 void swap(int& a, int& b);
52 void verify_minimum_changes(int order, std::vector<int>& permutation, int& changes, int start);
53 void get_permuted_list(std::vector<int> current,
54 std::vector<ElementarProductCols>& permuted_lists,
55 int& count,
56 int start,
57 int end);
58};
59
60} // namespace det
61
62#endif // !CALCULATOR_H
63#define CALCULATOR_H
Faz a matemática da matriz.
Definition calculator.h:38
void calc_determinant()
Calcula o determinante da matriz.
Definition calculator.cpp:166
void print_result()
Mostra na tela o resultado.
Definition calculator.cpp:63
void setup(const Matrix &matrix)
Inicializa os atributos da classe.
Definition calculator.cpp:46
Centraliza alguns alias usados nos outros arquivos.
Armazena uma permutação possível e se é necessário um número par de alterações para chegar nela.
Definition calculator.h:20