# Markov Oja Experiments

Experiments for Oja's algorithm for Markovian Data

## Environment Setup
Create a new python environment and install dependencies using `pip3 install -r requirements.txt`

## Instructions to Run
`python3 main.py` - Compares data-drop, offline, oja's algorithm with default parameters

`python3 varying_beta.py --output_dir results/ --num_dimensions 1000 --num_states 10 --lr_decay --timesteps 5000 --seed 777` - Runs experiments to compare performance of Oja's algorithm for different values of the transition-matrix eigengap

`python3 varying_eigengap.py --output_dir results/ --num_dimensions 1000 --num_states 10 --lr_decay --timesteps 5000 --seed 777` - Runs experiments to compare performance of Oja's algorithm for different values of the covariance matrix eigengap
