#include "prakmath.hpp" #include "prakmatrix.hpp" int main() { using namespace prak; matrix A(2, 1, {-1, 1}); matrix B(1, 2, {1, -2}); matrix C = A*B * (1.0/1.0); std::cout << A << '\n' << B << '\n' << C << std::endl; matrix D = C + matrix(2, 2, {-1, -2, -3, -4}); std::getchar(); D.feq_precision = 10; matrix A_1 = D.inv().value(); std::cout << A_1 << std::endl; std::cout << A_1*D << D*A_1 << std::endl; matrix E(2, 3, {1, 2, 3, 4, 5, 6}); std::cout << E << '\n' << E.tr() << std::endl; std::vector xs = {0, 1, 2, 3, 4, 5, 6, 7}; std::vector ys = {1, 2.9, 5.2, 7.1, 9, 11.05, 12.7, 14}; /* std::vector ss = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8}; */ std::vector ss = {0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1}; /* std::vector xs = {0, 1, 2}; */ /* std::vector ys = {1, 2.9, 5.2}; */ /* std::vector ss = {0.1, 0.2, 0.3}; */ polynomial_regression(2, xs, ys, std::make_optional(ss)); matrix T1 (3, 3, {1, 2, 3, 0, 1, 2, 0, 0, 1}); matrix T2 (3, 3, {4, 5, 6, 0, 4, 5, 0, 0, 6}); std::cout << T1 << '\n' << T2 << '\n' << T1 * T1 << std::endl; }