-
Notifications
You must be signed in to change notification settings - Fork 14
/
setup.py
49 lines (46 loc) · 2.04 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import sys
from setuptools import setup, Extension, find_packages
import numpy as np
define_args = '-DBUILD_WITH_PYTHON3' if sys.version.startswith('3') else ''
gsvd_extension = Extension(
'_gsvd',
['src/_gsvd.c'],
include_dirs=[
np.get_include(),
'/usr/local/include'
],
library_dirs=[
'/usr/local/lib'
],
libraries=['lapacke'],
extra_compile_args = [define_args])
setup(
name='pygsvd',
version='0.0.2',
author='Benjamin Naecker',
author_email='[email protected]',
description='Generalized singular value decomposition of NumPy arrays.',
long_description='''
The gsvd module is a wrapper for the LAPACK generalized
singular value routines for double and complex double arrays.
The GSVD is a joint decomposition, which simultaneously diagonalizes
a pair of matrices. Intuitively, the decomposition finds a linear
subspace which most "overlaps" with the row space of the first
matrix and the null space of the second. The decomposition is useful
in certain regularization and clustering problems, and can be
used to derive solutions to the generalized eigenvalue problem.
''',
classifiers = [
'Development Status :: Alpha',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Information Analysis',
'Licsense :: OSI Approved :: GNU Public License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3'
],
packages=find_packages(),
ext_modules=[gsvd_extension],
install_requires=['numpy>=1.11'],
license='GNU Public License v3',
py_modules=['pygsvd'],
)