Porting HLSVDPro from Fortran to Python
In late 2012 I ported HLSVDPro from Fortran to (almost) pure Python. The Python version runs about 2 - 5 times slower than the Fortran version (not bad, considering) and produces the same results. The code is released under [browser:trunk/hlsvdpro/LICENSE a BSD license].
You can get a copy of the code with this Subversion command –
svn co http://scion.duhs.duke.edu/guest_svn/hlsvdpro/trunk hlsvdpro
The Python port is in the directory experimental_pure_python_port
which you can also [source:/trunk/experimental_pure_python_port browse through this Web interface].
Relationship to Vespa * [HlsvdproPortVespaUsefulness This port's usefulness to Vespa]
- [HlsvdproPortDbdsqr About the annoying function DBDSQR()]
- [HlsvdproPortBugs Bugs (in Fortran and Python)]
- [HlsvdproPortPerformance Performance]
Development Notes * [HlsvdproPortUnported Unported sections]
- [HlsvdproPortFortranMemoryAllocation About how the Fortran code allocates memory]
- [HlsvdproPortRandomness About the supposedly random numbers in zgetu0w()]
- [HlsvdproPortPlan The plan written in advance of the port]
- [HlsvdproPortFiles What's there] (a description of the files)
- [HlsvdproPortNotesToMyself Odds and ends useful to anyone interested in improving this port]