Skip to content

Commit

Permalink
update paper.md
Browse files Browse the repository at this point in the history
  • Loading branch information
gmrandazzo committed Aug 18, 2023
1 parent 1bfcf13 commit 58f14d7
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,8 @@ Libcientific tests range from simple matrix-vector multiplication to the correct
# Speed and Memory Comparison

Several simulations of every algorithm in libscientific with data of different sizes (input size) against CPU speed were performed to address the algorithm's performance.
Looking at their plots, we observe a linear trend, which indicates that the algorithm's time complexity is linear, denoted as O(n) in computational complexity analysis.


Looking at the plots for PCA, CPCA, and PLS, we observe a linear trend, which indicates that the algorithm's time complexity is linear, denoted as O(n).
Instead, MLR shows an O(n³) behavior as expected from the OLS algorithm, which uses a matrix direct inverse approach.

This means that as the input size (often termed "problem size") increases by a constant factor, the execution time also increases proportionally (linear algorithms).
Linear algorithms have notable characteristics:
Expand All @@ -101,8 +100,11 @@ Linear algorithms have notable characteristics:
* Constant Work per Input Element: In linear algorithms, each input element is processed continuously.
* Stable Performance Impact: Doubling input size roughly doubles execution time, facilitating performance estimation.
* Optimal Scaling: Linear-time solutions efficiently handle larger inputs.

Hence we have demonstrated that libscientific scales linearly with the data.

| | |
|---|---|
| ![PCA](https://github.com/gmrandazzo/libscientific/blob/1bfcf13d0310b3e115abd5b15f9add62c37012f0/performance/pca_input_vs_cputime.png) PCA | ![CPCA](https://github.com/gmrandazzo/libscientific/blob/1bfcf13d0310b3e115abd5b15f9add62c37012f0/performance/cpca_input_vs_cputime.png) CPCA |
| ![PLS](https://github.com/gmrandazzo/libscientific/blob/1bfcf13d0310b3e115abd5b15f9add62c37012f0/performance/pls_input_vs_cputime.png) PLS | ![MLR](https://github.com/gmrandazzo/libscientific/blob/1bfcf13d0310b3e115abd5b15f9add62c37012f0/performance/mlr_input_vs_cputime.png) MLR |

# Usage

Expand Down

0 comments on commit 58f14d7

Please sign in to comment.