Skip to content

Commit

Permalink
Merge pull request #320 from skirpichev/v0.8.0a2
Browse files Browse the repository at this point in the history
Version 0.8.0a2
  • Loading branch information
skirpichev committed Aug 3, 2016
2 parents 4737c17 + af75935 commit f853f32
Show file tree
Hide file tree
Showing 242 changed files with 827 additions and 753 deletions.
5 changes: 0 additions & 5 deletions .coveragerc

This file was deleted.

28 changes: 4 additions & 24 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,23 @@
# Vim's swap files
*.sw[op]

# Generated files from Jython
*$py.class

# Generated C files in the polys directory
/diofant/polys/*.c

# Generated dynamic libraries in the polys directory
/diofant/polys/*.so

# File generated by setup.py using MANIFEST.in
MANIFEST

# Generated by ctags (used to improve autocompletion in vim)
tags

my/
# File generated by setup.py using MANIFEST.in
MANIFEST

# Files generated by setup.py
dist/
build/
.eggs
.eggs/
.cache/

# Files generated by setupegg.py
Diofant.egg-info/

# Tox files
tox.ini
.tox/

# Coverage files (./bin/coverage_report.py)
# Coverage files
.coverage
covhtml/
htmlcov/

# Built doc files (cd docs; make html)
docs/_build/

# Mac OS X Junk
.DS_Store
Expand Down
12 changes: 12 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,17 @@ script:
python setup.py test
fi
after_success: test -n "${COVERAGE_MARK}" && codecov
deploy:
provider: pypi
user: skirpichev
password:
secure: "eqw999YWDRgBpREgnGEv+z30/2TaJAsvKNlPHFYFQQO+RGZBX9CqyrmlpZWCT7rOuSS+PAkoOyYnS9qBBcYHJycjM4DuW6wakVLeY2GlGP+cH0Xw2xVFkewuUvs6CMLhjEJ9NBTMbI/ghPviOalodAz9TuNcErglKJypOi93rIs="
distributions: "sdist bdist_wheel"
# TODO Remove for deployment to official PyPi repo
server: https://testpypi.python.org/pypi
on:
python: 3.4
condition: -z "${COVERAGE_MARK}"
tags: true
notifications:
email: false
20 changes: 12 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,24 @@ Diofant
.. image:: https://travis-ci.org/diofant/diofant.svg?branch=master
:target: https://travis-ci.org/diofant/diofant

.. image:: https://codecov.io/github/diofant/diofant/coverage.svg?branch=master
:target: https://codecov.io/github/diofant/diofant?branch=master
.. image:: https://codecov.io/gh/diofant/diofant/branch/master/graph/badge.svg
:target: https://codecov.io/gh/diofant/diofant

.. image:: https://readthedocs.org/projects/diofant/badge/?version=latest
:target: https://readthedocs.org/projects/diofant/?badge=latest
:target: http://diofant.rtfd.io/en/latest/?badge=latest
:alt: Documentation Status

A Python library for symbolic mathematics.

For installation instructions and usage information, see the
`online documentation <http://diofant.rtfd.io/en/latest/>`_.
For `installation instructions`_ and usage information,
see the `online documentation`_.

See the `docs/aboutus.rst <http://diofant.rtfd.io/en/latest/aboutus.html>`_
file for credits and brief history.
See the `docs/aboutus.rst`_ file for credits and brief history.

New BSD License (see the LICENSE file for details) covers
New BSD License (see the `LICENSE file`_ for details) covers
all files in this repository unless stated otherwise.

.. _online documentation: http://diofant.rtfd.io/en/latest/
.. _installation instructions: http://diofant.rtfd.io/en/latest/install.html#installation
.. _docs/aboutus.rst: http://diofant.rtfd.io/en/latest/aboutus.html
.. _LICENSE file: https://github.com/diofant/diofant/blob/master/LICENSE
2 changes: 0 additions & 2 deletions diofant/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
"""Diofant is a Python library for symbolic mathematics. It aims to become a
full-featured computer algebra system (CAS) while keeping the code as
simple as possible in order to be comprehensible and easily extensible.
Diofant is written entirely in Python and does not require any external
libraries, except optionally for plotting support.
"""

__version__ = "0.8.0a1"
Expand Down
2 changes: 1 addition & 1 deletion diofant/calculus/tests/test_finite_diff.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from diofant import Integer, Rational, symbols, Function
from diofant.calculus.finite_diff import (apply_finite_diff,
finite_diff_weights, as_finite_diff)
finite_diff_weights, as_finite_diff)

from diofant.abc import x, y, h

Expand Down
7 changes: 4 additions & 3 deletions diofant/combinatorics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
from diofant.combinatorics.generators import cyclic, alternating, symmetric, dihedral
from diofant.combinatorics.subsets import Subset
from diofant.combinatorics.partitions import (Partition, IntegerPartition,
RGS_rank, RGS_unrank, RGS_enum)
RGS_rank, RGS_unrank, RGS_enum)
from diofant.combinatorics.polyhedron import (Polyhedron, tetrahedron, cube,
octahedron, dodecahedron, icosahedron)
octahedron, dodecahedron, icosahedron)
from diofant.combinatorics.perm_groups import PermutationGroup
from diofant.combinatorics.group_constructs import DirectProduct
from diofant.combinatorics.graycode import GrayCode
from diofant.combinatorics.named_groups import (SymmetricGroup, DihedralGroup,
CyclicGroup, AlternatingGroup, AbelianGroup, RubikGroup)
CyclicGroup, AlternatingGroup,
AbelianGroup, RubikGroup)
4 changes: 2 additions & 2 deletions diofant/combinatorics/perm_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from diofant.core import Basic
from diofant.combinatorics import Permutation
from diofant.combinatorics.permutations import (_af_commutes_with, _af_invert,
_af_rmul, _af_rmuln, _af_pow,
Cycle)
_af_rmul, _af_rmuln, _af_pow,
Cycle)
from diofant.combinatorics.util import (
_check_cycles_alt_sym, _distribute_gens_by_base,
_orbits_transversals_from_bsgs, _handle_precomputed_bsgs, _base_ordering,
Expand Down
2 changes: 1 addition & 1 deletion diofant/combinatorics/permutations.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from diofant.core import Basic
from diofant.core.compatibility import is_sequence
from diofant.utilities.iterables import (flatten, has_variety, minlex,
has_dups, runs)
has_dups, runs)
from diofant.polys.polytools import lcm
from diofant.matrices import zeros

Expand Down
6 changes: 3 additions & 3 deletions diofant/combinatorics/tensor_can.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from diofant.combinatorics.permutations import (Permutation, _af_rmul,
_af_invert, _af_new)
_af_invert, _af_new)
from diofant.combinatorics.perm_groups import (PermutationGroup, _orbit,
_orbit_transversal)
_orbit_transversal)
from diofant.combinatorics.util import (_distribute_gens_by_base,
_orbits_transversals_from_bsgs)
_orbits_transversals_from_bsgs)

"""
References for tensor canonicalization:
Expand Down
4 changes: 3 additions & 1 deletion diofant/combinatorics/tests/test_graycode.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from diofant.combinatorics.graycode import (GrayCode, bin_to_gray,
random_bitstring, get_subset_from_bitstring, graycode_subsets)
random_bitstring,
get_subset_from_bitstring,
graycode_subsets)


def test_graycode():
Expand Down
3 changes: 2 additions & 1 deletion diofant/combinatorics/tests/test_named_groups.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from diofant.combinatorics.named_groups import (SymmetricGroup, CyclicGroup,
DihedralGroup, AlternatingGroup, AbelianGroup)
DihedralGroup, AlternatingGroup,
AbelianGroup)


def test_SymmetricGroup():
Expand Down
4 changes: 2 additions & 2 deletions diofant/combinatorics/tests/test_partitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

from diofant.core.compatibility import ordered
from diofant.combinatorics.partitions import (Partition, IntegerPartition,
RGS_enum, RGS_unrank, RGS_rank,
random_integer_partition)
RGS_enum, RGS_unrank, RGS_rank,
random_integer_partition)
from diofant.sets.sets import Set
from diofant.utilities.iterables import default_sort_key, partitions

Expand Down
6 changes: 3 additions & 3 deletions diofant/combinatorics/tests/test_perm_groups.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from diofant.combinatorics.perm_groups import PermutationGroup
from diofant.combinatorics.named_groups import (SymmetricGroup, CyclicGroup,
DihedralGroup, AlternatingGroup,
AbelianGroup, RubikGroup)
DihedralGroup, AlternatingGroup,
AbelianGroup, RubikGroup)
from diofant.combinatorics.permutations import Permutation
from diofant.combinatorics.generators import rubik_cube_generators
from diofant.combinatorics.polyhedron import tetrahedron as Tetra, cube
from diofant.combinatorics.testutil import (_verify_bsgs, _verify_centralizer,
_verify_normal_closure)
_verify_normal_closure)

rmul = Permutation.rmul

Expand Down
2 changes: 1 addition & 1 deletion diofant/combinatorics/tests/test_permutations.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import pytest

from diofant.combinatorics.permutations import (Permutation, _af_parity,
_af_rmul, _af_rmuln, Cycle)
_af_rmul, _af_rmuln, Cycle)

rmul = Permutation.rmul

Expand Down
6 changes: 3 additions & 3 deletions diofant/combinatorics/tests/test_polyhedron.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

from diofant import symbols, FiniteSet
from diofant.combinatorics.polyhedron import (Polyhedron, tetrahedron,
cube as square, octahedron,
dodecahedron, icosahedron,
cube_faces)
cube as square, octahedron,
dodecahedron, icosahedron,
cube_faces)
from diofant.combinatorics.permutations import Permutation
from diofant.combinatorics.perm_groups import PermutationGroup

Expand Down
4 changes: 2 additions & 2 deletions diofant/combinatorics/tests/test_tensor_can.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from diofant.combinatorics.permutations import Permutation, Perm
from diofant.combinatorics.tensor_can import (perm_af_direct_product, dummy_sgs,
riemann_bsgs, get_symmetric_group_sgs,
canonicalize, bsgs_direct_product)
riemann_bsgs, get_symmetric_group_sgs,
canonicalize, bsgs_direct_product)
from diofant.combinatorics.testutil import canonicalize_naive, graph_certificate


Expand Down
13 changes: 7 additions & 6 deletions diofant/combinatorics/tests/test_testutil.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from diofant.combinatorics.named_groups import SymmetricGroup, AlternatingGroup,\
CyclicGroup
from diofant.combinatorics.testutil import _verify_bsgs, _cmp_perm_lists,\
_naive_list_centralizer, _verify_centralizer,\
_verify_normal_closure
from random import shuffle

from diofant.combinatorics.named_groups import (SymmetricGroup, AlternatingGroup,
CyclicGroup)
from diofant.combinatorics.testutil import (_verify_bsgs, _cmp_perm_lists,
_naive_list_centralizer, _verify_centralizer,
_verify_normal_closure)
from diofant.combinatorics.permutations import Permutation
from diofant.combinatorics.perm_groups import PermutationGroup
from random import shuffle


def test_cmp_perm_lists():
Expand Down
12 changes: 6 additions & 6 deletions diofant/combinatorics/tests/test_util.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from diofant.combinatorics.named_groups import (SymmetricGroup, DihedralGroup,
AlternatingGroup)
AlternatingGroup)
from diofant.combinatorics.permutations import Permutation
from diofant.combinatorics.util import (_check_cycles_alt_sym, _strip,
_distribute_gens_by_base,
_strong_gens_from_distr,
_orbits_transversals_from_bsgs,
_handle_precomputed_bsgs,
_base_ordering, _remove_gens)
_distribute_gens_by_base,
_strong_gens_from_distr,
_orbits_transversals_from_bsgs,
_handle_precomputed_bsgs,
_base_ordering, _remove_gens)
from diofant.combinatorics.testutil import _verify_bsgs


Expand Down
2 changes: 1 addition & 1 deletion diofant/concrete/tests/test_gosper.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Tests for Gosper's algorithm for hypergeometric summation. """

from diofant import (binomial, factorial, gamma, Poly, Rational,
simplify, sqrt, Symbol, pi)
simplify, sqrt, Symbol, pi)
from diofant.abc import a, b, j, k, m, n, r, x
from diofant.concrete.gosper import gosper_normal, gosper_sum, gosper_term

Expand Down
2 changes: 1 addition & 1 deletion diofant/concrete/tests/test_products.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest

from diofant import (symbols, Symbol, product, factorial, rf, sqrt, cos,
Function, Product, Rational, Sum, oo, exp, log, S, simplify)
Function, Product, Rational, Sum, oo, exp, log, S, simplify)
from diofant.concrete.expr_with_intlimits import ReorderError

a, k, n, m, x = symbols('a,k,n,m,x', integer=True)
Expand Down
22 changes: 11 additions & 11 deletions diofant/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,22 @@
from .singleton import S
from .expr import Expr, AtomicExpr
from .symbol import Symbol, Wild, Dummy, symbols, var
from .numbers import Number, Float, Rational, Integer, NumberSymbol, \
RealNumber, igcd, ilcm, seterr, E, I, nan, oo, pi, zoo, \
AlgebraicNumber, comp
from .numbers import (Number, Float, Rational, Integer, NumberSymbol,
RealNumber, igcd, ilcm, seterr, E, I, nan, oo, pi,
zoo, AlgebraicNumber, comp)
from .power import Pow, integer_nthroot
from .mul import Mul, prod
from .add import Add
from .mod import Mod
from .relational import ( Rel, Eq, Ne, Lt, Le, Gt, Ge,
Equality, GreaterThan, LessThan, Unequality, StrictGreaterThan,
StrictLessThan )
from .relational import (Rel, Eq, Ne, Lt, Le, Gt, Ge, Equality, GreaterThan,
LessThan, Unequality, StrictGreaterThan,
StrictLessThan)
from .multidimensional import vectorize
from .function import Lambda, WildFunction, Derivative, diff, FunctionClass, \
Function, Subs, expand, PoleError, count_ops, \
expand_mul, expand_log, expand_func, \
expand_trig, expand_complex, expand_multinomial, nfloat, \
expand_power_base, expand_power_exp
from .function import (Lambda, WildFunction, Derivative, diff, FunctionClass,
Function, Subs, expand, PoleError, count_ops,
expand_mul, expand_log, expand_func, expand_trig,
expand_complex, expand_multinomial, nfloat,
expand_power_base, expand_power_exp)
from .evalf import PrecisionExhausted, N
from .containers import Tuple, Dict
from .exprtools import gcd_terms, factor_terms, factor_nc
Expand Down
2 changes: 1 addition & 1 deletion diofant/core/add.py
Original file line number Diff line number Diff line change
Expand Up @@ -827,4 +827,4 @@ def _sorted_args(self):
return tuple(sorted(self.args, key=default_sort_key))

from .mul import Mul, _keep_coeff, prod
from diofant.core.numbers import Rational
from .numbers import Rational
10 changes: 7 additions & 3 deletions diofant/core/evalf.py
Original file line number Diff line number Diff line change
Expand Up @@ -1119,7 +1119,9 @@ def _create_evalf_table():
from diofant.concrete.summations import Sum
from diofant.core.add import Add
from diofant.core.mul import Mul
from diofant.core.numbers import Exp1, Float, Half, ImaginaryUnit, Integer, NaN, NegativeOne, One, Pi, Rational, Zero
from diofant.core.numbers import (Exp1, Float, Half, ImaginaryUnit,
Integer, NaN, NegativeOne, One, Pi,
Rational, Zero)
from diofant.core.power import Pow
from diofant.core.symbol import Dummy, Symbol
from diofant.functions.elementary.complexes import Abs, im, re
Expand All @@ -1131,8 +1133,10 @@ def _create_evalf_table():
Symbol: evalf_symbol,
Dummy: evalf_symbol,
Float: lambda x, prec, options: (x._mpf_, None, prec, None),
Rational: lambda x, prec, options: (from_rational(x.p, x.q, prec), None, prec, None),
Integer: lambda x, prec, options: (from_int(x.p, prec), None, prec, None),
Rational: lambda x, prec, options: (from_rational(x.p, x.q, prec),
None, prec, None),
Integer: lambda x, prec, options: (from_int(x.p, prec),
None, prec, None),
Zero: lambda x, prec, options: (None, None, prec, None),
One: lambda x, prec, options: (fone, None, prec, None),
Half: lambda x, prec, options: (fhalf, None, prec, None),
Expand Down
2 changes: 1 addition & 1 deletion diofant/core/exprtools.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from .coreerrors import NonCommutativeExpression
from .containers import Tuple, Dict
from diofant.utilities.iterables import (common_prefix, common_suffix,
variations)
variations)


def _isnumber(i):
Expand Down
2 changes: 1 addition & 1 deletion diofant/core/sympify.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ def sympify(a, locals=None, convert_xor=True, strict=False, rational=False,
raise SympifyError(a, exc)

from diofant.parsing.sympy_parser import (parse_expr, TokenError,
standard_transformations)
standard_transformations)
from diofant.parsing.sympy_parser import convert_xor as t_convert_xor
from diofant.parsing.sympy_parser import rationalize as t_rationalize

Expand Down
7 changes: 4 additions & 3 deletions diofant/core/tests/test_arit.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

import pytest

from diofant import (Basic, Symbol, sin, cos, exp, sqrt, Rational, Float, re, pi,
sympify, Add, Mul, Pow, Mod, I, log, S, Max, symbols, oo,
Integer, sign, im, nan, Dummy, factorial, comp, O, zoo)
from diofant import (Basic, Symbol, sin, cos, exp, sqrt, Rational, Float,
re, pi, sympify, Add, Mul, Pow, Mod, I, log, S, Max,
symbols, oo, Integer, sign, im, nan, Dummy,
factorial, comp, O, zoo)
from diofant.utilities.randtest import verify_numerically


Expand Down

0 comments on commit f853f32

Please sign in to comment.