simulate_sparse_matrix: Generate a simulated sparse matrix
Description
This function generates a sparse matrix with a specified number of rows and columns,
a given sparsity level, and a distribution function for the non-zero values.
Proportion of zero elements (sparsity level).
Default is 0.95, meaning 95% of elements are zero (5% are non-zero).
distribution_fun
Function to generate non-zero values.
decimal
Numeric value, default is 0.
Controls the number of decimal places in the generated values.
If set to 0, values will be integers.
When decimal > 0, random decimal parts are uniformly distributed across the full range.