ajpastor/diff_defined_functions.git
5 years agoWork done concerning the functional inverse of Dn-finite functions.
Antonio Jimenez Pastor [Tue, 4 Dec 2018 15:33:14 +0000 (16:33 +0100)]
Work done concerning the functional inverse of Dn-finite functions.

New feature:
- Method func_inverse_DA: it computes the differentially algebraic equation for the functional inverse of a Dn-finite function.
- Method FaaDiBruno_polynomials: method that returns the numerator and denominator of f^(k)(g(x)) as differential polynomials on g(x) when f(g(x)) = x.

5 years agoFixed some bugs:
Antonio Jimenez Pastor [Wed, 28 Nov 2018 14:46:46 +0000 (15:46 +0100)]
Fixed some bugs:
- The name in the function Tan(x) is now properly initialized
- While printing names, the minos in front of the coefficients is now well treated
- Added equality check for computing the gcd of DDFunctions
- Added equality check for division computation

Added more examples:
- Arcsin, Arccos, Arctan
- The function Arccos create a parameter called 'pi'

6 years agoFiniched the first version of the guess function for DC-finite functions
Antonio Jimenez Pastor [Wed, 17 Oct 2018 06:43:35 +0000 (08:43 +0200)]
Finiched the first version of the guess function for DC-finite functions

6 years agoMerge branch 'master' of gitserver:pub/ajpastor/diff_defined_functions
Antonio Jimenez Pastor [Mon, 15 Oct 2018 09:15:15 +0000 (11:15 +0200)]
Merge branch 'master' of gitserver:pub/ajpastor/diff_defined_functions

6 years agoAdded optional aprameter in diff_to_diffalg and toDifferentiallyAlgebraic_Below
Antonio Jimenez Pastor [Mon, 15 Oct 2018 09:12:18 +0000 (11:12 +0200)]
Added optional aprameter in diff_to_diffalg and toDifferentiallyAlgebraic_Below
to allow the user decide when to print the final matrix or not.

Fixed an error in method inverse_DA that used by default the variables
returned by method diff_to_diffalg in the reversed order.

6 years agoAdded a small guess function for transform DA-equation to DD-finite
Antonio Jimenez Pastor [Fri, 12 Oct 2018 12:56:37 +0000 (14:56 +0200)]
Added a small guess function for transform DA-equation to DD-finite

6 years agoAdded function to compute the equation for the multiplicative
Antonio Jimenez Pastor [Fri, 12 Oct 2018 08:59:18 +0000 (10:59 +0200)]
Added function to compute the equation for the multiplicative
inverse of DA-algebraic functions.

6 years agoFixed error with a casting using the InifitePolynomialRing when having
Antonio Jimenez Pastor [Thu, 11 Oct 2018 08:13:23 +0000 (10:13 +0200)]
Fixed error with a casting using the InifitePolynomialRing when having
some parameters.

6 years agoImproved the simplifier of functions.
Antonio Jimenez Pastor [Mon, 8 Oct 2018 11:02:55 +0000 (13:02 +0200)]
Improved the simplifier of functions.

Now from D(K[x]) we can simplify to K[x].

Fixed a couple of errors on the examples

6 years agoChanged the basic examples to compute the differential equation directly instead...
Antonio Jimenez Pastor [Tue, 2 Oct 2018 14:30:51 +0000 (16:30 +0200)]
Changed the basic examples to compute the differential equation directly instead that a composition

Fixed a small bug that threw errors in the LazyRing with DD-finite functions and over.

Added a method (not completed) to_simpler that reduces the basic ring. The part for order 1 D-finite functions works properly.

6 years agoFinished the implementation of __pow__ for DDFunctions.
Antonio Jimenez Pastor [Tue, 2 Oct 2018 11:23:30 +0000 (13:23 +0200)]
Finished the implementation of __pow__ for DDFunctions.

Now it allows to compute the power of DDFunctions to any other
DDFunction (if some conditions with the initial values hold).
See documentation of __pow__ in DDFunction class for more information.

6 years agoFixed small error in Log
Antonio Jimenez Pastor [Mon, 1 Oct 2018 14:06:01 +0000 (16:06 +0200)]
Fixed small error in Log

Fixed error in toDiffAlgebraic

Added the power with power series.

6 years agoDetected error in file toDiffAlgebraic.py (see todo)
Antonio Jimenez Pastor [Thu, 27 Sep 2018 15:50:27 +0000 (17:50 +0200)]
Detected error in file toDiffAlgebraic.py (see todo)

Check webpage http://functions.wolfram.com/EllipticFunctions/DedekindEta/13/01/

6 years agoAdded generic example for contiguous equation for HypergeometricFunction
Antonio Jimenez Pastor [Wed, 26 Sep 2018 13:55:28 +0000 (15:55 +0200)]
Added generic example for contiguous equation for HypergeometricFunction

6 years agoFixed test file ddFunction.py to not use all global variables.
Antonio Jimenez Pastor [Wed, 26 Sep 2018 12:28:18 +0000 (14:28 +0200)]
Fixed test file ddFunction.py to not use all global variables.

6 years agoChanged version to 0.6 (since addition of file toDiffAlgebraic.py)
Antonio Jimenez Pastor [Tue, 25 Sep 2018 15:51:08 +0000 (17:51 +0200)]
Changed version to 0.6 (since addition of file toDiffAlgebraic.py)
Renamed previous releases to fit with the version

Fixed two errors:
    - Function sequence from ring_w_sequence.py now allows Symbolic Expressions as input
    - Functions __rsub__ and __rdiv__ now work properly (previously returned wrong results (inversed))

6 years agoModified the _element_constructor_ method of DDFunction to allow elements in
Antonio Jimenez Pastor [Thu, 20 Sep 2018 15:21:47 +0000 (17:21 +0200)]
Modified the _element_constructor_ method of DDFunction to allow elements in
the FractionField of the base domain.

Added combinatorial examples: Fibonacci (with option to two parameters) and Catalan numbers

6 years agoFixed a typo in ddExamples.py
Antonio Jimenez Pastor [Wed, 19 Sep 2018 08:00:20 +0000 (10:00 +0200)]
Fixed a typo in ddExamples.py

6 years agoFinished the documentation of file ddExamples.py
Antonio Jimenez Pastor [Fri, 14 Sep 2018 12:49:25 +0000 (14:49 +0200)]
Finished the documentation of file ddExamples.py

6 years agoUpdated some examples to allow parameters as input, not only in the arguments
Antonio Jimenez Pastor [Thu, 13 Sep 2018 16:09:17 +0000 (18:09 +0200)]
Updated some examples to allow parameters as input, not only in the arguments
of the functions, but also in the initial values.

Add more documentation.

6 years agoImproved the implementation of the LegendreD function: now more type of
Antonio Jimenez Pastor [Wed, 12 Sep 2018 14:55:07 +0000 (16:55 +0200)]
Improved the implementation of the LegendreD function: now more type of
Legendre associated functions are allowed.

Started documentation of Chebyshev polynomials.

6 years agoFixed small errors in ddFunction.py
Antonio Jimenez Pastor [Tue, 11 Sep 2018 15:24:39 +0000 (17:24 +0200)]
Fixed small errors in ddFunction.py

Added all the examples from DLMF website.

Started adding the documentation for all the examples.

6 years agoUpdated the algorithm diff_to_diffalg to allow parameters in the
Antonio Jimenez Pastor [Wed, 5 Sep 2018 09:25:01 +0000 (11:25 +0200)]
Updated the algorithm diff_to_diffalg to allow parameters in the
DDRings.

6 years agoAdded example with Hill equation
Antonio Jimenez Pastor [Tue, 4 Sep 2018 14:36:11 +0000 (16:36 +0200)]
Added example with Hill equation

Modified the Hypergeometric example to allow parameters

6 years agoUpdated the Struve example
Antonio Jimenez Pastor [Mon, 3 Sep 2018 13:56:34 +0000 (15:56 +0200)]
Updated the Struve example
Started the example of Legendre elliptic integrals

6 years agoAdded more examples of D-finite functions.
Antonio Jimenez Pastor [Thu, 30 Aug 2018 13:39:48 +0000 (15:39 +0200)]
Added more examples of D-finite functions.

Added Airy functions and ParabolicCylindric Functions

6 years agoFirst test with D3Finite functions.
Antonio Jimenez Pastor [Wed, 29 Aug 2018 17:31:35 +0000 (19:31 +0200)]
First test with D3Finite functions.

6 years agoAdded algorithm for DiffAlgOver(k) --> DiffAlgOver(k-1)
Antonio Jimenez Pastor [Tue, 28 Aug 2018 17:14:05 +0000 (19:14 +0200)]
Added algorithm for DiffAlgOver(k) --> DiffAlgOver(k-1)

6 years agoAdded the file with the D^k --> DA functions.
Antonio Jimenez Pastor [Mon, 27 Aug 2018 14:49:06 +0000 (16:49 +0200)]
Added the file with the D^k --> DA functions.

Modified the ddFunction file in order to compile properly.

6 years agoAdded a .gitignore so no .pyc file is tracked.
Antonio Jimenez Pastor [Tue, 3 Jul 2018 09:18:29 +0000 (11:18 +0200)]
Added a .gitignore so no .pyc file is tracked.

Small changes in fles ddFunction.py and matrix.py

6 years agoThe initial values for the polynomial computation is finished.
Antonio Jimenez Pastor [Mon, 25 Jun 2018 18:39:43 +0000 (20:39 +0200)]
The initial values for the polynomial computation is finished.

It is based in a recursive structure using the generalized Leibniz rule
for decomposing the products in the monomials, and Bruno di Faa's formula
for the power of variables.

6 years agoModified the method to decide parents for the example functions
Antonio Jimenez Pastor [Mon, 25 Jun 2018 14:58:57 +0000 (16:58 +0200)]
Modified the method to decide parents for the example functions

Started to add the method to compute polynomials directly (Not finished)

6 years agoDeleted a print line in the method random_element in the class DDRing
Antonio Jimenez Pastor [Tue, 19 Jun 2018 10:20:23 +0000 (12:20 +0200)]
Deleted a print line in the method random_element in the class DDRing

6 years agoFixed error in method random_element in class DDRing
Antonio Jimenez Pastor [Tue, 19 Jun 2018 09:53:29 +0000 (11:53 +0200)]
Fixed error in method random_element in class DDRing

6 years agoAdded the method random_element to the class ddRing
Antonio Jimenez Pastor [Tue, 19 Jun 2018 09:36:31 +0000 (11:36 +0200)]
Added the method random_element to the class ddRing

6 years agoRevert "Added the method random_element to the class DDRing"
Antonio Jimenez Pastor [Tue, 19 Jun 2018 09:29:26 +0000 (11:29 +0200)]
Revert "Added the method random_element to the class DDRing"

This reverts commit ac3682813da3e9400fd19d5e13d2d6ca2e7d557b.

6 years agoAdded the method random_element to the class DDRing
Antonio Jimenez Pastor [Tue, 19 Jun 2018 09:24:34 +0000 (11:24 +0200)]
Added the method random_element to the class DDRing

6 years agoAdapted files of package misc to Python.
Antonio Jimenez Pastor [Mon, 18 Jun 2018 14:44:38 +0000 (16:44 +0200)]
Adapted files of package misc to Python.

Other deprecated files (i.e., never used) were deleted.

Files adapted: bareiss.py, matrix.py, ring_w_sequence.py, verbose.py
Files deleted: euclidean.py, hermite.py, nullspace_wrapper.py,
storj_villard.py, timing.py

6 years agoFinal version after visit to Paris
Antonio Jimenez Pastor [Mon, 18 Jun 2018 07:59:25 +0000 (09:59 +0200)]
Final version after visit to Paris

6 years agoPerformance improvements
Antonio Jimenez Pastor [Wed, 13 Jun 2018 11:45:01 +0000 (13:45 +0200)]
Performance improvements

1 - The method for computing the root of the indicial polynomial now is cached.
This means that operators with the same indicial polynomial take less time to
compute their roots.
2 - Computing th roots of the indicial polynomial when there are parameters is done
using a modular approximation: we evaluate the parameters and when the polynomial
has the same degree we compute the roots of a univariate polynomial. That is a superset
of the roots we want, so we check and we keep those that were roots for the indicial polynomial.

Minor changes:
   matrix.py now use the method is_Matrix instead of sage.matrix.Matrix (deprecated in
SAGE: https://trac.sagemath.org/ticket/24096

6 years agoAdded the README file to the repository.
Antonio Jimenez Pastor [Thu, 19 Apr 2018 17:30:12 +0000 (19:30 +0200)]
Added the README file to the repository.

No changes within the code.

6 years agoAdded an heuristic zero testing for Lazy Elements.
Antonio Jimenez Pastor [Wed, 18 Apr 2018 10:44:38 +0000 (12:44 +0200)]
Added an heuristic zero testing for Lazy Elements.

Now, before going to the real value, it checks that the initial value of
the lazy element at zero is zero. Otherwise, the method is_zero
of the class _LazyElement returns directly False

6 years agoNew version of the packages.
Antonio Jimenez Pastor [Fri, 9 Mar 2018 14:03:55 +0000 (15:03 +0100)]
New version of the packages.

Now the class DDRing accepts algebraic extensions of QQ as
basic field. Also, this field is dinamicall computed assuming
that, if the base ring is a Polynomial Ring, the base field
is the same as the coefficients of the polynomials.

6 years agosome version
Antonio Jimenez Pastor [Thu, 8 Mar 2018 13:43:58 +0000 (14:43 +0100)]
some version

6 years agoSetting up the public repository for the SAGE implementation Differentially Definable...
Antonio Jimenez Pastor [Thu, 8 Mar 2018 10:39:24 +0000 (11:39 +0100)]
Setting up the public repository for the SAGE implementation Differentially Definable Functions.