Package: fastmat
fastmatDescriptionScientific computing requires handling large composed or structured matrices.
Fastmat is a framework for handling large composed or structured matrices.
It allows expressing and using them in a mathematically intuitive way while
storing and handling them internally in an efficient way. This approach allows
huge savings in computational time and memory requirements compared to using
dense matrix representations.DependenciesPython 2.7, Python >=3.5Numpy >= 1.16.3Scipy >= 1.0Cython >= 0.29soft dependencies:matplotlib: for demos and tools that make use of plotting functionsDistributionBinary wheels are provided for Python >=3.5 for linux, windows and mac, as well as for x86 and ARM architectures.For all systems, for which no wheels are provided, you may still install fastmat from the soruce distribution.Authors & Contact InformationSebastian Semper |sebastian.semper@tu-ilmenau.deTechnische Universität Ilmenau, Institute for Mathematics, EMS GroupChristoph Wagner |christoph.wagner@tu-ilmenau.deTechnische Universität Ilmenau, Institute for Information Technology, EMS Grouphttps://www.tu-ilmenau.de/it-ems/Citation / AcknowledgementsIf you use fastmat, or parts of it, for commercial purposes you are required
to acknowledge the use of fastmat visibly to all users of your work and put a
reference to the project and the EMS Group at TU Ilmenau.If you use fastmat for your scientific work you are required to mention the
EMS Group at TU Ilmenau and cite the following publication affiliated with the
project:Christoph W. Wagner and Sebastian Semper and Jan Kirchhof,fastmat: Efficient linear transforms in Python,
SoftwareX, 2022,https://doi.org/10.1016/j.softx.2022.101013@article{Wagner_2022,
        doi = {10.1016/j.softx.2022.101013},
        url = {https://doi.org/10.1016%2Fj.softx.2022.101013},
        year = {2022},
        month = {jun},
        publisher = {Elsevier {BV}},
        volume = {18},
        pages = {101013},
        author = {Christoph W. Wagner and Sebastian Semper and Jan Kirchhof},
        title = {fastmat: Efficient linear transforms in Python},
        journal = {{SoftwareX}}
    }https://www.tu-ilmenau.de/it-ems/Installationfastmat currently supports Linux, Windows and Mac OS. Lately it also has been
seen on ARM cores coming in a Xilinx ZYNQ FPGA SoC shell. We encourage you to
go ahead trying other platforms as the aforementioned as well and are very
happy if you share your experience with us, allowing us to keep the list
updated.Installing with pip:fastmat is included in the Python Package Index (PyPI) and can be installed
from the commandline by running one easy and straightforward command:pip install fastmatWhen installing with pip all dependencies of the package will be installed
along. With release 0.1.1 python wheels will be offered for many versions
greatly improving installation time and effort.Bulding from sourceBuilding binaries has been developed and tested for the useManually installing from sourcedownload the source distribution from our github repository:https://github.com/EMS-TU-Ilmenau/fastmat/archive/stable.zipunpack its contents and navigate to the project root directoryrunpip install .to install fastmat on your computeryou may also install fastmat without pip, using the offered makefile:typemake installto install fastmat on your computerIf you intend to install the package locally for your user typemake install MODE=--userinsteadYou may add a version specifier for allmaketargets that directly or indirectly invoke Python:make install PYTHON=python2make compile PYTHON=python3If you only would like to compile the package to use it from this local
directory without installing it, typemake compileAn uninstallation of a previously runmake installis possible, provided the installation log filesetup.fileshas been preserved
Invokingmake uninstallwithout a localsetup.filescauses another installation for generating the setup file log prior to uninstallingNOTE: Windows usersIf you intent on building fastmat from source on a windows platform, make sure you have installed a c compiler environment and make interpreter. One way to accomplish this is to install these tools for Python 2.7 (you may also chose different ones, of course):Intel Distribution for Python 2.7Microsoft Visual C++ Compiler 9.0 for Python 2.7GNU make for Windows 3.81 or newerdepending on your system: The relevant header filesDemosFeel free to have a look at the demos in thedemo/directory of the source
distribution. Please make sure to have fastmat already installed when running
these.Please note that the edgeDetect demo requires the Python Imaging Library (PIL)
installed and the SAFT demos do compile a cython-core of a user defined matrix
class beforehand thus having a delaying the first time they're executed.Documentation / HELP !Please have a look at the documentation, which is included in the source
distribution at github or may be built locally on your machine by runningmake docIf you experience any trouble please do not hesitate to contact us or to open
an issue on our github projectpage:https://github.com/EMS-TU-Ilmenau/fastmatFAQPlease check out our project documentation atreadthedocs.Windows: Installation fails with various "file not found" errorsOften, this is caused by missing header files. Unfortunately windows ships
without a c-compiler and the header files necessary to compile native binary
code. If you use the Intel Distribution for Python this can be resolved by
installing the Visual Studio Build tools with the version as recommended by
the version of the Intel Distribution for Python that you are using.Issue not resolved yet?Please contact us or leave your bug report in theissuesection. Thank You!