`ica` and `sample` need to completed only the following packages:
`ksvd` needs to completed only using the following packages:
*`numpy`
*`scipy.linalg`
**No other packages should be used**
### Parameters
`ica.py` also provides a sample main that loads cifar10 using `cifar10.py`,
whitens the images using `zca.py`, performs ICA using the `ica(x,**args)`, and displays
and displays the learned basis images `W`.
`dictlearn.py` also provides a sample main that loads cifar10 using `cifar10.py`, performs dictionary learning using `omp` and `ksvd` subroutines, and displays the learned dictionary `D`.
**Note that values of parameters such as the learning rate `lr`, number of basis
images `k`, and number of optimization steps `nsteps` may need to be changed**
**Note that values of parameters such as the learning rate `tol`, number of dictionary atoms `k`, and number of optimization steps `nsteps` may need to be changed**
### Example
The following image show an example result of applying ICA to whitened cifar10 data
The following image shows an example dictionary learned with 8 x 8 images patches (assuming k=512 and L=25).