forked from bnaecker/pygsvd
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
51 lines (48 loc) · 2.15 KB
/
setup.py
File metadata and controls
51 lines (48 loc) · 2.15 KB
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
50
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',
'/usr/local/opt/lapack/include'
],
library_dirs=[
'/usr/local/lib',
'/usr/local/opt/lapack/lib'
],
libraries=['lapacke'],
extra_compile_args = [define_args])
setup(
name='pygsvd',
version='0.0.2',
author='Benjamin Naecker',
author_email='bnaecker@fastmail.com',
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'],
)