Skip to content

Latest commit

 

History

History
92 lines (63 loc) · 3.81 KB

File metadata and controls

92 lines (63 loc) · 3.81 KB

scala-au.id.cxd.math Wiki

Welcome to the scala-au.id.cxd.math documentation wiki!

This is a hobby project consisting of a Scala library for statistical computing, machine learning, and mathematical operations.

Documentation in this wiki has been generated automatically with copilot, but gives the gist of how the library usage works.

Human written documentation can also be found here: https://cxd.github.io/scala-au.id.cxd.math/index.html

The library uses the matrix data type provided by Breeze Library: https://github.com/scalanlp/breeze

🎯 Overview

This library provides a wide range of mathematical and statistical tools implemented in Scala, including:

  • Probability Distributions - Both continuous and discrete distributions with PDF, CDF, and random generation
  • Statistical Tests - ANOVA, MANOVA, normality tests, and more
  • Regression Methods - OLS, logistic regression, Bayesian regression
  • Neural Networks - Feedforward networks with multiple activation functions
  • Text Processing - Latent Semantic Indexing (LSI), TF-IDF, text preprocessing
  • Multivariate Analysis - PCA, discriminant analysis, clustering
  • Advanced Functions - Gamma, Beta, special functions, distance metrics

📚 Documentation

Getting Started

Core Modules

Reference

Development

🔗 External Resources

⚠️ Important Notes

This library is an experimental hobby project maintained by a single developer. It is:

  • ✅ Great for learning and experimentation
  • ✅ Useful for prototyping statistical algorithms
  • ✅ Well-documented with examples
  • ⚠️ Not recommended for production use
  • ⚠️ May have lower accuracy than mature libraries (R, SciPy, GSL)
  • ⚠️ Not actively maintained on a regular schedule

🚀 Quick Example

import au.id.cxd.math.probability.continuous.Normal

// Create a normal distribution
val normal = Normal(mu = 0.0, sigma = 1.0)

// Calculate probability density
val pdf = normal.pdf(1.5)

// Calculate cumulative probability
val cdf = normal.cdf(1.5)

// Generate random samples
val samples = normal.draw(1000)

📧 Contact

If you're using this library or have feedback, please open an issue on GitHub!


Note: This wiki can be browsed directly in the repository under /wiki-docs/ or copied to the GitHub wiki for easier navigation.