ajpastor/diff_defined_functions.git
5 years agoAdding extra files for distributing the package.
Antonio-JP [Wed, 26 Jun 2019 07:49:46 +0000 (09:49 +0200)]
Adding extra files for distributing the package.

5 years agoUpdate repository
Antonio-JP [Tue, 23 Apr 2019 14:11:17 +0000 (16:11 +0200)]
Update repository

5 years agoUpdate repository
Antonio-JP [Tue, 23 Apr 2019 09:15:01 +0000 (11:15 +0200)]
Update repository

5 years agoUpdating to last version
root [Tue, 23 Apr 2019 09:11:33 +0000 (11:11 +0200)]
Updating to last version

5 years agoFixed bug on conversion.py: error while computing the real value of
Antonio-JP [Fri, 5 Apr 2019 15:09:12 +0000 (17:09 +0200)]
Fixed bug on conversion.py: error while computing the real value of
LazyElements due to the substitution method does not delete all variables
from the polynomial if they are not explicitly given.

5 years agoMiddle point implementing the complete DAlgebraic
Antonio-JP [Fri, 22 Mar 2019 12:10:53 +0000 (13:10 +0100)]
Middle point implementing the complete DAlgebraic

Fixed some errors in lazyDDRing.py

5 years agoFinished a first version of lazyDDRing
Antonio Jimenez Pastor [Mon, 18 Mar 2019 16:13:41 +0000 (17:13 +0100)]
Finished a first version of lazyDDRing

Now it can compute derivatives, create the lazy ring for DD-finite functions
and include elements that are also D-finite.

Fixed some errors in lazy/conversion.py and lazy/lazyRing.py

5 years agoFixed some errors in the files ddExamples and ddFunction
Antonio Jimenez Pastor [Tue, 12 Mar 2019 11:09:06 +0000 (12:09 +0100)]
Fixed some errors in the files ddExamples and ddFunction

Added the Example for Riccati differential equations

Added a new zip file with the latest version of the code. This file will be linked
from any source for download.

5 years agoFixed the bug with the HypergeometricFunction method
Antonio Jimenez Pastor [Thu, 21 Feb 2019 11:28:12 +0000 (12:28 +0100)]
Fixed the bug with the HypergeometricFunction method
Added a file to create custom Errors

5 years agoFixed an error while evaluating lazy elements
Antonio Jimenez Pastor [Wed, 20 Feb 2019 14:20:02 +0000 (15:20 +0100)]
Fixed an error while evaluating lazy elements

Error detected in the Hypergeometric function.

5 years agoAdded function for computing the inverse of a polynomial.
Antonio Jimenez Pastor [Tue, 12 Feb 2019 16:53:53 +0000 (17:53 +0100)]
Added function for computing the inverse of a polynomial.

5 years agoUpdated the repository
Antonio Jimenez Pastor [Wed, 6 Feb 2019 13:52:47 +0000 (14:52 +0100)]
Updated the repository

5 years agoUpdated repository
Antonio Jimenez Pastor [Wed, 6 Feb 2019 07:51:27 +0000 (08:51 +0100)]
Updated repository

5 years agoAdvanced a bit more in lazyDDRing
Antonio Jimenez Pastor [Tue, 29 Jan 2019 16:02:56 +0000 (17:02 +0100)]
Advanced a bit more in lazyDDRing

Added a file to manipulate sequence as functions over the integers.

5 years agoStarted the addition for a Lazy Conversion System for DDRings
Antonio Jimenez Pastor [Tue, 29 Jan 2019 08:55:17 +0000 (09:55 +0100)]
Started the addition for a Lazy Conversion System for DDRings
using all the ideas for simplification got in the diffalg_reduction
method.

5 years agoUpdated version for debugging (more and better messages)
Antonio Jimenez Pastor [Wed, 23 Jan 2019 16:02:48 +0000 (17:02 +0100)]
Updated version for debugging (more and better messages)

5 years agoFirst implementation for diffalg_reduction finished.
Antonio Jimenez Pastor [Tue, 22 Jan 2019 16:42:06 +0000 (17:42 +0100)]
First implementation for diffalg_reduction finished.

Need to be further tested

5 years agoAdvanced the new implementation of diff_to_diffalg
Antonio Jimenez Pastor [Mon, 21 Jan 2019 12:00:06 +0000 (13:00 +0100)]
Advanced the new implementation of diff_to_diffalg
- The computation of the vector v is still needed.

5 years agoStarted new implementation of diff_to_diffalg using the algorithm
Antonio Jimenez Pastor [Mon, 21 Jan 2019 08:55:55 +0000 (09:55 +0100)]
Started new implementation of diff_to_diffalg using the algorithm
described in the last paper.

Not yet finished

5 years agoAdded the hyperbolic inverses.
Antonio Jimenez Pastor [Thu, 6 Dec 2018 16:29:29 +0000 (17:29 +0100)]
Added the hyperbolic inverses.

New features added to the DDRing structure:
- The method extend_base_field allows to extend the field of constants from a DDRing. Useful to add algebraic elements.

New examples functions:
- Tanh
- Arcsinh
- Arccosh
- Arctanh

5 years agoAdded option to stop the simplyify_homogeneous with linear equations.
Antonio Jimenez Pastor [Wed, 5 Dec 2018 16:21:14 +0000 (17:21 +0100)]
Added option to stop the simplyify_homogeneous with linear equations.

5 years agoAdded new guessing functionality
Antonio Jimenez Pastor [Wed, 5 Dec 2018 15:02:13 +0000 (16:02 +0100)]
Added new guessing functionality

Added three new methods to toDiffAlgebraic.py
- A method that, if y(x) = exp(int(u(x))), computes the differential polynomials
U_n(u) such that y^(n)(x) = y(x)U_n(u). (Exponential_polynomials)
- A method that, given an homogeneous differentially algebraic equation suppose
that the solution is of the form y(x) = exp(int(u(x))) and computes a
differentially algebraic equation for u(x) which will have less order than y(x).
(simplify_homogeneous)
- A method that, given an homogeneous differentially algebraic equation use the
method simplify_homogeneous and in case that a linear equation is achieved, then
a Dn-finite function is returned as an iteration of exponential functions
(guess_homogeenous_DNfinite).

5 years agoFixed a bug in the computation of algebraic equation for functional inverses.
Antonio Jimenez Pastor [Tue, 4 Dec 2018 17:03:50 +0000 (18:03 +0100)]
Fixed a bug in the computation of algebraic equation for functional inverses.

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.