Skip to content

Commit a65a31d

Browse files
author
Luis Javier
committed
Se añadió man, readme, licence
1 parent 50d0893 commit a65a31d

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

LICENSE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2019 Luis Javier Hern�ndez
4+
5+
Permission is hereby granted, free of charge, to any person obtaining
6+
a copy of this software and associated documentation files (the
7+
"Software"), to deal in the Software without restriction, including
8+
without limitation the rights to use, copy, modify, merge, publish,
9+
distribute, sublicense, and/or sell copies of the Software, and to
10+
permit persons to whom the Software is furnished to do so, subject to
11+
the following conditions:
12+
13+
The above copyright notice and this permission notice shall be
14+
included in all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
2+
# Plotting Basins of a Univariate Rational map
3+
4+
5+
This package PBURF allows us to visualize the attraction basins associated to the end points of a discrete semi-flow induced by a rational function on the Riemann sphere by using its geometry and complex structure.
6+
7+
The main advantage of the algorithm used by this package is that avoids the problem of overflows caused by denominators closed to zero and the problem of indetermination which appears when simultaneously the numerator and denominator are equal to zero. This is solved by working with homogeneous coordinates and the iteration of a homogeneous pair on the augmented complex projective line (Riemann spheres plus an additional superzero point).
8+
9+
This can be applied to any numerical method which construct a rational map to solve an univariate polynomial equation and verifying that the roots of the equation are fixed points of the associated rational map.
10+
11+
12+
# Usage
13+
14+
To load the code just type
15+
16+
>using PBURF
17+
18+
The main function of package is
19+
20+
* `plottingBasinsUnivariateRationalFunctions(coefficientlistnum,coefficientlistden,...)`: This main function takes two lists of complex numbers that correspond to the coefficients of the numerator and denominator of a rational function and returns the list of fixed points of the function, a rectangular plot of the basins of these fixed points and a color palette with colors associated to the different fixed points.
21+
22+
This function uses the following arguments
23+
24+
* `coefficientlistnum`: is the list of the complex coefficients of the numerator of a univariate rational function.
25+
26+
* `coefficientlistden`: is the list of the complex coefficients of the denominator of a univariate rational function .
27+
28+
This function has the following optional arguments
29+
30+
* `expresolution`: It is a nonnegative integer. The function gives a rectangular plot such that the sides are divided into 2^expresolution subintervals. It default value is expresolution=8.
31+
32+
* `iterationmax`: It is a nonnegative integer. This is the maximun of possible iterations of the rational function when you run this main function. It default value is iterationmax=25.
33+
34+
* `iterprecision`: It is a nonnegative integer. The stopping criterium is that chordal distance between two the last consecutive iterates is less than 1/10^iterationmax. It default value is iterationmax=3.
35+
36+
* `aproxprecision`: It is a nonnegative integer. When the chordal distance between the last iterate and a point of the list of fixed points is less than 1/10^aproxprecision the function assigns the starting point to the basin of this fixed point. It default value is aproxprecision=3.
37+
38+
This function also uses the following keyword arguments
39+
40+
* `colorstrategy`: It is an AbstractString. It posible values are "positionplusiteration", "iteration", and "positionfixedpoints". The defaut value is colorstrategy="positionplusiteration". The program provides three different strategies for assigning colors to the different points of a plot.
41+
42+
* `model`:It is an AbstractString. The defaut value is model="localrectangle". Future development of this program will use other models like the Riemann sphere, a pair of disks, etc.
43+
44+
45+
* `rectanglesides`: It is a 4-dimensional tuple of real numbers (a,b,c,d) which corresponds to rectangle obtained as the product of the intervarls [a,b] and [c,d]. The defaut values is rectanglesides=(-1.5,1.5,-1.5,1.5).
46+
47+
48+
49+
#Installation
50+
51+
This software can be instaled by giving the following command in the julia command line
52+
(or in some [IJulia](https://github.com/JuliaLang/IJulia.jl) notebook):
53+
54+
> Pkg.clone("https://github.com/luisjavierhernandez/PBURF.jl")
55+
56+
in this way, all dependencies will be satisfied automatically.
57+
58+
The code will be upgraded every time the Pkg.update() command is used.
59+
60+
Alternatively, you can manually copy the whole directory structure
61+
to your julia package directory (use Pkg.dir() to locate it),
62+
and then run Pkg.update() to download the dependencies.
63+
64+
65+
You will need to have the Python [Matplotlib](http://matplotlib.org/)
66+
library installed on your machine in order to use PyPlot. You can either
67+
do inline plotting with [IJulia](https://github.com/JuliaLang/IJulia.jl),
68+
which doesn't require a GUI backend, or use the Qt, wx, or GTK+ backends
69+
of Matplotlib.
70+
71+
## Dependencies
72+
73+
*Polynomials.jl
74+
75+
*Pyplot.jl
76+
77+
*Colorsjl

manPBURF.pdf

311 KB
Binary file not shown.

0 commit comments

Comments
 (0)