Algorithms_in_C++
1.0.0
Set of algorithms implemented in C++.
|
Go to the documentation of this file.
40 for (row = 0; row <
mat_size; row++) {
45 for (col = row; col <
mat_size; col++) {
48 for (j = 0; j < row; j++) {
49 lu_sum += L[0][row][j] * U[0][j][col];
53 U[0][row][col] = A[row][col] - lu_sum;
60 for (col = row; col <
mat_size; col++) {
68 for (j = 0; j < row; j++) {
69 lu_sum += L[0][col][j] * U[0][j][row];
73 L[0][col][row] = (A[col][row] - lu_sum) / U[0][row][row];
98 for (
size_t i = 0; i < A.
size(); i++) {
99 result *= L[i][i] * U[i][i];
bool check_termination(long double delta)
Definition: durand_kerner_roots.cpp:91
double Sqrt(double a)
Definition: sqrt_double.cpp:16
void tests()
Definition: number_of_positive_divisors.cpp:70
unsigned int lcm(unsigned int x, unsigned int y)
Definition: least_common_multiple.cpp:43
void tests()
Definition: least_common_multiple.cpp:50
std::vector< int > prime_numbers
Definition: prime_factorization.cpp:16
int main()
Definition: primes_up_to_billion.cpp:26
#define MAX_ITERATIONS
Maximum number of iterations to check.
Definition: false_position.cpp:24
friend std::istream & operator>>(std::istream &input, stats_computer2 &stat)
Definition: realtime_stats.cpp:97
ll mat_size
Definition: matrix_exponentiation.cpp:45
#define EPSILON
solution accuracy limit
Definition: golden_search_extrema.cpp:17
void test3()
Test function to find maxima for the function in the interval Expected result: .
Definition: brent_method_extrema.cpp:188
std::vector< int > primes(int max)
Definition: prime_numbers.cpp:12
bool miller_rabin_primality_test(T num, T repeats)
Definition: miller_rabin.cpp:125
int main()
Definition: brent_method_extrema.cpp:204
#define EPSILON
system accuracy limit
Definition: brent_method_extrema.cpp:23
void test2()
Definition: lu_decompose.cpp:66
int multiply(int x, int res[], int res_size)
Definition: power_for_huge_numbers.cpp:25
ll ans(ll n)
Definition: matrix_exponentiation.cpp:91
int main()
Definition: sieve_of_eratosthenes.cpp:65
std::vector< bool > sieve(uint32_t N)
Definition: sieve_of_eratosthenes.cpp:26
const char * complex_str(const std::complex< double > &x)
Definition: durand_kerner_roots.cpp:76
void test3()
Test function to find maxima for the function in the interval Expected result: .
Definition: golden_search_extrema.cpp:123
double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
Get the real root of a function in the given interval.
Definition: brent_method_extrema.cpp:35
int sgn(T val)
Definition: bisection_method.cpp:32
double std() const
Definition: realtime_stats.cpp:48
std::vector< std::pair< int, int > > factors
Definition: prime_factorization.cpp:19
int main()
Definition: prime_factorization.cpp:62
std::vector< T > reverse_binary(T num)
Definition: miller_rabin.cpp:19
void power(int x, int n)
Definition: power_for_huge_numbers.cpp:56
void test1()
Test function to find minima for the function in the interval Expected result = 2.
Definition: golden_search_extrema.cpp:78
bool is_prime(T num)
Definition: check_prime.cpp:22
int main()
Definition: prime_numbers.cpp:26
int main()
Definition: modular_inverse_fermat_little_theorem.cpp:84
std::pair< uint32_t, double > durand_kerner_algo(const std::valarray< double > &coeffs, std::valarray< std::complex< double >> *roots, bool write_log=false)
Definition: durand_kerner_roots.cpp:109
void test1()
Definition: lu_decompose.cpp:36
void test()
Definition: sum_of_digits.cpp:58
void test2()
Definition: sum_of_digits.cpp:49
constexpr double EPSILON
system accuracy limit
Definition: newton_raphson_method.cpp:20
int main()
Definition: false_position.cpp:39
double variance() const
Definition: realtime_stats.cpp:89
unsigned int gcd(unsigned int x, unsigned int y)
Definition: least_common_multiple.cpp:16
int main()
Definition: sqrt_double.cpp:42
T modular_exponentiation(T base, const std::vector< T > &rev_binary_exponent, T mod)
Definition: miller_rabin.cpp:43
std::complex< double > poly_function(const std::valarray< double > &coeffs, std::complex< double > x)
Definition: durand_kerner_roots.cpp:53
int main(int argc, char **argv)
Definition: lu_decompose.cpp:84
void test1()
Definition: durand_kerner_roots.cpp:207
int main()
Definition: gaussian_elimination.cpp:9
#define ACCURACY
Definition: durand_kerner_roots.cpp:45
double mean() const
Definition: realtime_stats.cpp:42
Definition: realtime_stats.cpp:72
int main(int argc, char **argv)
Definition: realtime_stats.cpp:158
int sgn(T val)
Definition: false_position.cpp:34
void print(uint32_t N, const std::vector< bool > &is_prime)
Definition: sieve_of_eratosthenes.cpp:44
Functions associated with LU Decomposition of a square matrix.
void test_function(const float *test_data, const int number_of_samples)
Definition: realtime_stats.cpp:118
void SieveOfEratosthenes(int N)
Definition: prime_factorization.cpp:23
bool miller_test(T d, T num)
Definition: miller_rabin.cpp:73
int main()
Definition: least_common_multiple.cpp:78
int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
Definition: lu_decomposition.h:29
int64_t binExpo(int64_t a, int64_t b, int64_t m)
Definition: modular_inverse_fermat_little_theorem.cpp:52
void new_val(T x)
Definition: realtime_stats.cpp:32
void test2()
Test function to find root for the function in the interval Expected result: .
Definition: brent_method_extrema.cpp:165
void new_val(T x)
Definition: realtime_stats.cpp:77
double variance() const
Definition: realtime_stats.cpp:45
int sum_of_digits(int num)
Definition: sum_of_digits.cpp:23
int main()
Definition: number_of_positive_divisors.cpp:81
int main()
Definition: miller_rabin.cpp:183
int main()
Definition: power_for_huge_numbers.cpp:82
void prime_factorization(int num)
Definition: prime_factorization.cpp:40
int main()
Definition: sum_of_digits.cpp:68
double determinant_lu(const matrix< T > &A)
Definition: lu_decomposition.h:90
Definition: realtime_stats.cpp:27
void test2()
Test function to find maxima for the function in the interval Expected result: .
Definition: golden_search_extrema.cpp:100
double std() const
Definition: realtime_stats.cpp:92
int main()
Definition: golden_search_extrema.cpp:139
void test1()
Definition: sum_of_digits.cpp:40
static double eq(double i)
Definition: false_position.cpp:28
void test1()
Test function to find root for the function in the interval Expected result = 2.
Definition: brent_method_extrema.cpp:143
std::string add(std::string a, std::string b)
Definition: string_fibonacci.cpp:24
#define MAX_ITERATIONS
Maximum number of iterations to check.
Definition: bisection_method.cpp:22
void tests()
Definition: sieve_of_eratosthenes.cpp:56
int main()
Definition: string_fibonacci.cpp:81
int number_of_positive_divisors(int n)
Definition: number_of_positive_divisors.cpp:33
static double eq(double i)
Definition: bisection_method.cpp:26
double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
Get the minima of a function in the given interval. To get the maxima, simply negate the function....
Definition: golden_search_extrema.cpp:29
void fib_Accurate(uint64_t n)
Definition: string_fibonacci.cpp:68
void Sieve(int64_t n)
Definition: primes_up_to_billion.cpp:13
std::ostream & operator<<(std::ostream &out, matrix< T > const &v)
Definition: lu_decompose.cpp:18
double mean() const
Definition: realtime_stats.cpp:86
bool isPrime(int64_t m)
Definition: modular_inverse_fermat_little_theorem.cpp:68
void test2()
Definition: durand_kerner_roots.cpp:242
int main()
Definition: bisection_method.cpp:37
#define MAX
Definition: power_for_huge_numbers.cpp:10
friend std::istream & operator>>(std::istream &input, stats_computer1 &stat)
Definition: realtime_stats.cpp:53
void tests()
Definition: miller_rabin.cpp:157
T sum(const std::vector< std::valarray< T >> &A)
Definition: vector_ops.hpp:232
int main()
Definition: graph_coloring.cpp:96
char prime[100000000]
Definition: primes_up_to_billion.cpp:10
bool isprime[1000006]
Definition: prime_factorization.cpp:13