LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
exact_rational_matrix.hpp
浏览该文件的文档.
1#pragma once
2
4#include "rational.hpp"
5#include "result.hpp"
6
7#include <cstddef>
8#include <optional>
9#include <string>
10#include <vector>
11
12namespace LMCAS::detail {
13Result<Rational> rational_determinant_value_impl(
14 std::size_t dimension,
15 std::vector<Rational> values,
16 ComputationContext& context,
17 const std::string& operation);
18
19
20Result<Rational> rational_determinant_exact(
21 std::size_t dimension,
22 std::vector<Rational> values,
23 ComputationContext& context,
24 const std::string& operation);
25
26Result<std::vector<Rational>> solve_rational_unique(
27 std::size_t rows,
28 std::size_t coefficient_columns,
29 std::vector<Rational> augmented_entries,
30 ComputationContext& context,
31 const std::string& operation);
32std::vector<std::optional<std::size_t>> reduce_rational_rows(
33 std::size_t rows, std::size_t coefficient_columns,
34 std::vector<Rational>& matrix, bool start_at_pivot);
35
37 std::size_t rows, std::size_t coefficient_columns,
38 const std::vector<Rational>& matrix);
39
40}
多元 Hensel 提升(单变量步)
bool rational_system_inconsistent(std::size_t rows, std::size_t coefficient_columns, const std::vector< Rational > &matrix)
Result< Rational > rational_determinant_value_impl(std::size_t dimension, std::vector< Rational > values, ComputationContext &context, const std::string &operation)
Result< Rational > rational_determinant_exact(std::size_t dimension, std::vector< Rational > values, ComputationContext &context, const std::string &operation)
Result< std::vector< Rational > > solve_rational_unique(std::size_t rows, std::size_t coefficient_columns, std::vector< Rational > matrix, ComputationContext &context, const std::string &operation)
ComputationContext const std::string & operation
std::size_t std::size_t ComputationContext & context
std::vector< std::optional< std::size_t > > reduce_rational_rows(std::size_t rows, std::size_t coefficient_columns, std::vector< Rational > &matrix, bool start_at_pivot)
精确有理数 Rational,基于 BigInt 分子/分母表示,自动约分。