diff options
author | Antonio Rojas | 2018-01-03 08:50:03 +0000 |
---|---|---|
committer | Antonio Rojas | 2018-01-03 08:50:03 +0000 |
commit | 7fbbdfc9fb29dab06ad2535bb50a33c75dac974b (patch) | |
tree | acf1c88fc3384921777edad6fbe098d3d04466b2 | |
parent | fec8ea6ad6798686189b1273667fa35605362888 (diff) | |
download | aur-7fbbdfc9fb29dab06ad2535bb50a33c75dac974b.tar.gz |
Update, remove merged patches
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 13 | ||||
-rw-r--r-- | sagemath-ipython-prompt.patch | 13 | ||||
-rw-r--r-- | sagemath-linbox-1.5.patch | 272 |
4 files changed, 4 insertions, 300 deletions
@@ -1,6 +1,6 @@ pkgbase = sagemath-git pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab - pkgver = 8.2.beta1.r0.gd3b9b396c1 + pkgver = 8.2.beta2.r0.ga1782046e2 pkgrel = 1 url = http://www.sagemath.org arch = x86_64 @@ -103,11 +103,9 @@ pkgbase = sagemath-git source = pari-stackwarn.patch source = sagemath-detect-igraph.patch source = sagemath-networkx2.patch - source = sagemath-linbox-1.5.patch source = sagemath-matplotlib2.patch source = sagemath-scipy-1.0.patch source = sagemath-lrs.patch - source = sagemath-ipython-prompt.patch sha256sums = SKIP sha256sums = 39b76a189365464998cab9355d177581bc2b15dff10858f316faa85f2efa0426 sha256sums = c41ae665499c6cd775d40bbe178f8786830b0931ee26bf11ee02f7d83bcc8107 @@ -121,11 +119,9 @@ pkgbase = sagemath-git sha256sums = bfd2a20a33ab19a8a8b216a77d07f62e809fe1e1879c4f171ce5dca62fd482e9 sha256sums = 28d7789b8d777922ab8871ca43b6afab751428cae875c0343d3962e6a2030b88 sha256sums = 1024f3a6a9a1a6ae96d9962bb7d1f5842f4a4a5ff5098afad81a60188b7d5160 - sha256sums = a52d03e04c9d64bb957a1f8dcdae3280ebb9450a7fd76aaf5ae5de5c6f74774f sha256sums = b9ab2bb5f381ea425e8763b81b8b3a108a3951c594fb1f37f7df921e7c77e26d sha256sums = 17397b8e1843b013ef5d2e083369109f0719651edd8ef0c8493cb49e2bc4324a sha256sums = c0f65534a845ba802de6196229159fe67fcc3f72f0cb1ce57d4ae5c9fe10282c - sha256sums = 937a0081e7aea56bda645ef5f0d34b8e356acd62a7dd128a35163f46e7836131 pkgname = sagemath-git optdepends = cython2: to compile cython code @@ -8,7 +8,7 @@ pkgbase=sagemath-git pkgname=(sagemath-git sagemath-jupyter-git) -pkgver=8.2.beta1.r0.gd3b9b396c1 +pkgver=8.2.beta2.r0.ga1782046e2 pkgrel=1 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab" arch=(x86_64) @@ -37,8 +37,7 @@ makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhom source=(git://git.sagemath.org/sage.git#branch=develop sagemath-env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch r-no-readline.patch fes02.patch sagemath-threejs.patch pari-stackwarn.patch - sagemath-detect-igraph.patch sagemath-networkx2.patch sagemath-linbox-1.5.patch - sagemath-matplotlib2.patch sagemath-scipy-1.0.patch sagemath-lrs.patch sagemath-ipython-prompt.patch) + sagemath-detect-igraph.patch sagemath-networkx2.patch sagemath-matplotlib2.patch sagemath-scipy-1.0.patch sagemath-lrs.patch) sha256sums=('SKIP' '39b76a189365464998cab9355d177581bc2b15dff10858f316faa85f2efa0426' 'c41ae665499c6cd775d40bbe178f8786830b0931ee26bf11ee02f7d83bcc8107' @@ -52,11 +51,9 @@ sha256sums=('SKIP' 'bfd2a20a33ab19a8a8b216a77d07f62e809fe1e1879c4f171ce5dca62fd482e9' '28d7789b8d777922ab8871ca43b6afab751428cae875c0343d3962e6a2030b88' '1024f3a6a9a1a6ae96d9962bb7d1f5842f4a4a5ff5098afad81a60188b7d5160' - 'a52d03e04c9d64bb957a1f8dcdae3280ebb9450a7fd76aaf5ae5de5c6f74774f' 'b9ab2bb5f381ea425e8763b81b8b3a108a3951c594fb1f37f7df921e7c77e26d' '17397b8e1843b013ef5d2e083369109f0719651edd8ef0c8493cb49e2bc4324a' - 'c0f65534a845ba802de6196229159fe67fcc3f72f0cb1ce57d4ae5c9fe10282c' - '937a0081e7aea56bda645ef5f0d34b8e356acd62a7dd128a35163f46e7836131') + 'c0f65534a845ba802de6196229159fe67fcc3f72f0cb1ce57d4ae5c9fe10282c') pkgver() { cd sage @@ -96,14 +93,10 @@ prepare(){ patch -p1 -i ../pari-stackwarn.patch # remove deprecated scipy parameters patch -p1 -i ../sagemath-scipy-1.0.patch -# fix ipython prompt in pexpect interface - patch -p1 -i ../sagemath-ipython-prompt.patch # Upstream patches # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209 patch -p1 -i ../fes02.patch -# fix build with linbox 1.5 https://trac.sagemath.org/ticket/24214 - patch -p1 -i ../sagemath-linbox-1.5.patch # port away from deprecated and removed functions in matplotlib 2 https://trac.sagemath.org/ticket/23696 patch -p1 -i ../sagemath-matplotlib2.patch diff --git a/sagemath-ipython-prompt.patch b/sagemath-ipython-prompt.patch deleted file mode 100644 index ad992ff0c3a4..000000000000 --- a/sagemath-ipython-prompt.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/sage/interfaces/sage0.py b/src/sage/interfaces/sage0.py -index 4ba76ab0b8..e7740177f4 100644 ---- a/src/sage/interfaces/sage0.py -+++ b/src/sage/interfaces/sage0.py -@@ -161,7 +161,7 @@ class Sage(ExtraTabCompletion, Expect): - '--no-term-title', - '--simple-prompt', - ]) -- prompt = re.compile('In \[\d+\]: ') -+ prompt = re.compile('sage: ') - if init_code is None: - init_code = ['from six.moves import cPickle'] - diff --git a/sagemath-linbox-1.5.patch b/sagemath-linbox-1.5.patch deleted file mode 100644 index 532a83469599..000000000000 --- a/sagemath-linbox-1.5.patch +++ /dev/null @@ -1,272 +0,0 @@ -diff --git a/src/sage/libs/linbox/fflas.pxd b/src/sage/libs/linbox/fflas.pxd -index ca23d71..03bbee9 100644 ---- a/src/sage/libs/linbox/fflas.pxd -+++ b/src/sage/libs/linbox/fflas.pxd -@@ -20,19 +20,29 @@ cdef extern from "fflas-ffpack/fflas-ffpack.h" namespace "std": - iterator end() - size_t size() - -- cdef cppclass list[T]: -- cppclass iterator: -- T operator*() -- iterator operator++() -- bint operator==(iterator) -- bint operator!=(iterator) -- void push_back(T&) -- void pop_front() -- T& front() -- iterator begin() -- iterator end() -+cdef extern from "givaro/givpoly1.h": -+ ## template < typename T, typename A=std::allocator<T> > -+ ## class givvector : public __GIV_STANDARD_VECTOR<T,A> -+ cdef cppclass givvector "Givaro::givvector" [T,ALLOCATOR=*]: -+ T& operator[](size_t i) - size_t size() -- void clear() -+ -+ctypedef givvector[ModDoubleFieldElement] ModDoubleDensePolynomial -+ctypedef givvector[ModFloatFieldElement] ModFloatDensePolynomial -+ -+cdef extern from "givaro/givpoly1.h": -+ ## template <class Domain, class StorageTag= Givaro::Dense> -+ ## class GivPolynomialRing : public Givaro::Poly1FactorDom< Domain,StorageTag> -+ cdef cppclass ModDoublePolynomialRing "Givaro::Poly1Dom<Givaro::Modular<double>, Givaro::Dense>": -+ ctypedef givvector[ModDoubleField] Element -+ ctypedef givvector[ModDoubleField] Polynomial -+ ModDoublePolynomialRing(ModDoubleField& F) -+ ## template <class Domain, class StorageTag= Givaro::Dense> -+ ## class GivPolynomialRing : public Givaro::Poly1FactorDom< Domain,StorageTag> -+ cdef cppclass ModFloatPolynomialRing "Givaro::Poly1Dom<Givaro::Modular<float>, Givaro::Dense>": -+ ctypedef givvector[ModFloatField] Element -+ ctypedef givvector[ModFloatField] Polynomial -+ ModFloatPolynomialRing(ModFloatField& F) - - cdef extern from "fflas-ffpack/fflas-ffpack.h": - ctypedef enum fflas_trans_enum "FFLAS::FFLAS_TRANSPOSE": -@@ -105,13 +115,12 @@ cdef extern from "fflas-ffpack/fflas-ffpack.h": - size_t nr, size_t foo, size_t r, - ModDoubleFieldElement* matrix, size_t nc, size_t* Q) - -- void ModDouble_MinPoly "FFPACK::MinPoly" ( ModDoubleField F, -+ void ModDouble_MinPoly "FFPACK::MinPoly" ( ModDoubleField& F, - vector[ModDoubleFieldElement] minP, size_t N, -- ModDoubleFieldElement* A, size_t lda, -- ModDoubleFieldElement* X, size_t ldx, size_t* P) -+ ModDoubleFieldElement*A, size_t lda) - -- void ModDouble_CharPoly "FFPACK::CharPoly" ( ModDoubleField F, -- list[vector[ModDoubleFieldElement]] charp, size_t N, -+ void ModDouble_CharPoly "FFPACK::CharPoly" ( ModDoublePolynomialRing& R, -+ ModDoubleDensePolynomial& charp, size_t N, - ModDoubleFieldElement* A, size_t lda) - - # float -@@ -142,9 +151,8 @@ cdef extern from "fflas-ffpack/fflas-ffpack.h": - - void ModFloat_MinPoly "FFPACK::MinPoly" ( ModFloatField F, - vector[ModFloatFieldElement] minP, size_t N, -- ModFloatFieldElement* A, size_t lda, -- ModFloatFieldElement* X, size_t ldx, size_t* P) -+ ModFloatFieldElement* A, size_t lda) - -- void ModFloat_CharPoly "FFPACK::CharPoly" ( ModFloatField F, -- list[vector[ModFloatFieldElement]] charp, size_t N, -+ void ModFloat_CharPoly "FFPACK::CharPoly" ( ModFloatPolynomialRing& F, -+ ModFloatDensePolynomial& charp, size_t N, - ModFloatFieldElement* A, size_t lda ) -diff --git a/src/sage/libs/linbox/linbox_flint_interface.pyx b/src/sage/libs/linbox/linbox_flint_interface.pyx -index 02a6151..a00d303 100644 ---- a/src/sage/libs/linbox/linbox_flint_interface.pyx -+++ b/src/sage/libs/linbox/linbox_flint_interface.pyx -@@ -76,19 +76,23 @@ cdef extern from "givaro/zring.h": - ctypedef GivaroInteger Element - - --cdef extern from "givaro/givpoly1.h": -- ## template < typename T, typename A=std::allocator<T> > -- ## class givvector : public __GIV_STANDARD_VECTOR<T,A> -- cdef cppclass givvector "Givaro::givvector" [T,ALLOCATOR=*]: -- T& operator[](size_t i) -+cdef extern from "linbox/polynomial/dense-polynomial.h": -+ ## template<class Field> -+ ## class DensePolynomial : public Givaro::Poly1FactorDom<Field, Givaro::Dense>::Element -+ cdef cppclass LinBoxIntegerDensePolynomial "LinBox::DensePolynomial<Givaro::ZRing<Givaro::Integer> >": -+ ctypedef GivaroIntegerRing BaseRing -+ ctypedef GivaroInteger BaseRingElement -+ LinBoxIntegerDensePolynomial(BaseRing &F) -+ LinBoxIntegerDensePolynomial(BaseRing &F, size_t s) -+ BaseRingElement& operator[](size_t i) - size_t size() - --cdef extern from "linbox/ring/givaro-polynomial.h": -- ## template <class Domain, class StorageTag= Givaro::Dense> -- ## class GivPolynomialRing : public Givaro::Poly1FactorDom< Domain,StorageTag> -- cdef cppclass LinBoxIntegerPolynomialRing "LinBox::GivPolynomialRing<Givaro::ZRing<Givaro::Integer>, Givaro::Dense>": -- ctypedef givvector[GivaroInteger] Element -- ctypedef givvector[GivaroInteger] Polynomial -+cdef extern from "linbox/ring/polynomial-ring.h": -+ ## template <class BaseRing, class StorageTag= Givaro::Dense> -+ ## class PolynomialRing : public Givaro::Poly1FactorDom<BaseRing,StorageTag> -+ cdef cppclass LinBoxIntegerPolynomialRing "LinBox::PolynomialRing<Givaro::ZRing<Givaro::Integer>, Givaro::Dense>": -+ ctypedef LinBoxIntegerDensePolynomial Element -+ ctypedef LinBoxIntegerDensePolynomial Polynomial - - cdef extern from "linbox/matrix/matrix-domain.h": - ## template <class Field_ > -@@ -190,40 +194,32 @@ cdef void linbox_fmpz_mat_mul(fmpz_mat_t C, fmpz_mat_t A, fmpz_mat_t B): - cdef void linbox_fmpz_mat_charpoly(fmpz_poly_t cp, fmpz_mat_t A): - cdef GivaroIntegerRing ZZ - cdef LinBoxIntegerDenseMatrix * LBA -- cdef LinBoxIntegerPolynomialRing.Element m_A -- -- # FIXME: bug in LinBox -- # see https://github.com/linbox-team/linbox/issues/51 -- if fmpz_mat_nrows(A) == 0: -- fmpz_poly_one(cp) -- return -+ cdef LinBoxIntegerDensePolynomial * m_A - - LBA = new LinBoxIntegerDenseMatrix(ZZ, fmpz_mat_nrows(A), fmpz_mat_ncols(A)) - fmpz_mat_get_linbox(LBA[0], A) -- LinBoxIntegerDense_charpoly(m_A, LBA[0]) -- fmpz_poly_set_linbox(cp, m_A) -+ m_A = new LinBoxIntegerDensePolynomial(ZZ, fmpz_mat_nrows(A)) -+ LinBoxIntegerDense_charpoly(m_A[0], LBA[0]) -+ fmpz_poly_set_linbox(cp, m_A[0]) - - del LBA -+ del m_A - - - # set mp to the minimal polynomial of A - cdef void linbox_fmpz_mat_minpoly(fmpz_poly_t mp, fmpz_mat_t A): - cdef GivaroIntegerRing ZZ - cdef LinBoxIntegerDenseMatrix * LBA -- cdef LinBoxIntegerPolynomialRing.Element m_A -- -- # FIXME: bug in LinBox -- # see https://github.com/linbox-team/linbox/issues/51 -- if fmpz_mat_nrows(A) == 0: -- fmpz_poly_one(mp) -- return -+ cdef LinBoxIntegerDensePolynomial * m_A - - LBA = new LinBoxIntegerDenseMatrix(ZZ, fmpz_mat_nrows(A), fmpz_mat_ncols(A)) -+ m_A = new LinBoxIntegerDensePolynomial(ZZ) - fmpz_mat_get_linbox(LBA[0], A) -- LinBoxIntegerDense_minpoly(m_A, LBA[0]) -- fmpz_poly_set_linbox(mp, m_A) -+ LinBoxIntegerDense_minpoly(m_A[0], LBA[0]) -+ fmpz_poly_set_linbox(mp, m_A[0]) - - del LBA -+ del m_A - - - # return the rank of A -diff --git a/src/sage/matrix/matrix_modn_dense_double.pyx b/src/sage/matrix/matrix_modn_dense_double.pyx -index 15c35cb..b1f6154 100644 ---- a/src/sage/matrix/matrix_modn_dense_double.pyx -+++ b/src/sage/matrix/matrix_modn_dense_double.pyx -@@ -27,7 +27,9 @@ from sage.libs.linbox.fflas cimport ModDouble_fgemm as Mod_fgemm, ModDouble_fgem - ModDoubleRank as ModRank, ModDouble_echelon as Mod_echelon, \ - ModDouble_applyp as Mod_applyp, \ - ModDouble_MinPoly as Mod_MinPoly, \ -- ModDouble_CharPoly as Mod_CharPoly -+ ModDouble_CharPoly as Mod_CharPoly, \ -+ ModDoublePolynomialRing as ModDensePolyRing,\ -+ ModDoubleDensePolynomial as ModDensePoly - - # Limit for LinBox Modular<double> - MAX_MODULUS = 2**23 -diff --git a/src/sage/matrix/matrix_modn_dense_float.pyx b/src/sage/matrix/matrix_modn_dense_float.pyx -index 61457ce..eda8f0b 100644 ---- a/src/sage/matrix/matrix_modn_dense_float.pyx -+++ b/src/sage/matrix/matrix_modn_dense_float.pyx -@@ -25,7 +25,10 @@ from sage.libs.linbox.fflas cimport ModFloat_fgemm as Mod_fgemm, ModFloat_fgemv - ModFloatRank as ModRank, ModFloat_echelon as Mod_echelon, \ - ModFloat_applyp as Mod_applyp, \ - ModFloat_MinPoly as Mod_MinPoly, \ -- ModFloat_CharPoly as Mod_CharPoly -+ ModFloat_CharPoly as Mod_CharPoly, \ -+ ModFloatPolynomialRing as ModDensePolyRing,\ -+ ModFloatDensePolynomial as ModDensePoly -+ - - # LinBox supports up to 2^11 using float but that's double dog slow, - # so we pick a smaller value for crossover -diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi -index 3da3e31..819ef2d 100644 ---- a/src/sage/matrix/matrix_modn_dense_template.pxi -+++ b/src/sage/matrix/matrix_modn_dense_template.pxi -@@ -306,23 +306,15 @@ cdef inline linbox_minpoly(celement modulus, Py_ssize_t nrows, celement* entries - cdef Py_ssize_t i - cdef ModField *F = new ModField(<long>modulus) - cdef vector[ModFieldElement] *minP = new vector[ModFieldElement]() -- cdef ModFieldElement *X = <ModFieldElement*>check_allocarray(nrows * (nrows+1), sizeof(ModFieldElement)) -- cdef size_t *P = <size_t*>check_allocarray(nrows, sizeof(size_t)) -- -- cdef celement *cpy = linbox_copy(modulus, entries, nrows, nrows) - - if nrows*nrows > 1000: sig_on() -- Mod_MinPoly(F[0], minP[0], nrows, <ModFieldElement*>cpy, nrows, X, nrows, P) -+ Mod_MinPoly(F[0], minP[0], nrows, <ModFieldElement*>entries, nrows) - if nrows*nrows > 1000: sig_off() - -- sig_free(cpy) -- - l = [] - for i in range(minP.size()): - l.append( <celement>minP.at(i) ) - -- sig_free(P) -- sig_free(X) - del F - return l - -@@ -332,27 +324,23 @@ cdef inline linbox_charpoly(celement modulus, Py_ssize_t nrows, celement* entrie - """ - cdef Py_ssize_t i - cdef ModField *F = new ModField(<long>modulus) -- cdef std_list[vector[ModFieldElement]] P_list -- P_list.clear() -+ cdef ModDensePolyRing * R = new ModDensePolyRing(F[0]) -+ cdef ModDensePoly P - - cdef celement *cpy = linbox_copy(modulus, entries, nrows, nrows) - - if nrows*nrows > 1000: sig_on() -- Mod_CharPoly(F[0], P_list, nrows, <ModFieldElement*>cpy, nrows) -+ Mod_CharPoly(R[0], P, nrows, <ModFieldElement*>cpy, nrows) - if nrows*nrows > 1000: sig_off() - - sig_free(cpy) - -- cdef vector[ModFieldElement] tmp - l = [] -- while P_list.size(): -- l.append([]) -- tmp = P_list.front() -- for i in range(tmp.size()): -- l[-1].append(<celement>tmp.at(i)) -- P_list.pop_front() -+ for i in range(P.size()): -+ l.append(<celement>P[i]) - - del F -+ del R - return l - - -@@ -1731,9 +1719,7 @@ cdef class Matrix_modn_dense_template(Matrix_dense): - R = self._base_ring[var] - # call linbox for charpoly - v = linbox_charpoly(self.p, self._nrows, self._entries) -- r = R(1) -- for e in v: -- r *= R(e) -+ r = R(v) - return r - - def echelonize(self, algorithm="linbox", **kwds): |