Go to my website https://aelzenaar.github.io/
aelzenaar / bella Goto Github PK
View Code? Open in Web Editor NEWNew computational package for small-rank matrix groups
License: BSD 3-Clause "New" or "Revised" License
New computational package for small-rank matrix groups
License: BSD 3-Clause "New" or "Revised" License
Go to my website https://aelzenaar.github.io/
Right now the examples are kind of messy. Write specific well-documented examples to showcase particular features, or at least document the existing ones clearer.
MWE:
from bella import slices
# Compute a whole bunch of level sets, and stick them into one pandas dataframe
depth = 20
p = 3
q = 6
elliptic_slice = slices.elliptic_exterior(p, q, depth)
print(elliptic_slice[43])
The polynomial solver fails to converge, and we see:
bella.slices.ConvergenceFailedException: Convergence failed at r/s = 2/3, polynomial 3.0 -
12.12435565298214105469212439054110656859963677667266439639064885616353111836160025956802330730074003·x +
15.0·x² -
5.196152422706631880582339024517617100828415761431141884167420938355799050726400111243438560271745727·x³
But:
>>> print(farey.farey_polynomial_classic(2,3,3,6)+2)
3.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248576 -
1.0·x +
1.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248576·x² -
1.0·x³
so the wrong Farey polynomial is computed by slices.elliptic_exterior
. (It even fails to be monic!)
Use the power of dask and/or pandas to parallelise limit set computations.
Implement computation of approximations of Riley slices following https://github.com/aelzenaar/riley/blob/main/riley.py.
One needs to find a good (fast) method for solving the polynomials produced by the (existing) bella.farey module.
Currently riley.riley_slice_exterior
is very slow. This is a factor of three variables:
mp.dps = 100
(__init__.py)maxsteps = 500
(in farey.solve_polynomial)extraprec = 1000
(in farey.solve_polynomial)First of all, we should have an internal mpmath context to avoid setting the dps globally. We should then choose maxsteps and extraprec to be minimal to ensure convergence. This could be done as follows:
Add functions to:
Add functions to:
If the parameters p, q to RileyGroup are non-integral then an error should not occur.
GroupCache.subgroup() should take a list of words, i.e. [(0,), (3,),...]; instead it takes just matrices so is essentially useless.
RileyGroup should also expose a subgroup method that takes XY strings.
MPmath does not support using numeric types from the pyadic package.
In farey.py
implement:
peripherals.py
example to use this.Add a method to GroupCache
which can produce a set of isometric circles, similar in interface to GroupCache.coloured_limit_set()
.
Add back in this function removed in de0855b and add a new "left-to-right" mode. This is of interest in computing zooms of limit sets and cannot be done in the "fast" way so it is worth having the function back even though it is slow at "normal" limit sets.
@ariymarkowitz please copy the error message here thx
Use holoviews.Graph to plot
Traceback (most recent call last):
File "/Users/amar630/anaconda3/envs/py3-11/lib/python3.11/site-packages/dask/backends.py", line 136, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/amar630/anaconda3/envs/py3-11/lib/python3.11/site-packages/dask/dataframe/io/csv.py", line 760, in read
return read_pandas(
^^^^^^^^^^^^
File "/Users/amar630/anaconda3/envs/py3-11/lib/python3.11/site-packages/dask/dataframe/io/csv.py", line 533, in read_pandas
raise OSError(f"{urlpath} resolved to no files")
OSError: atom/*.csv resolved to no files
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/amar630/Downloads/bella-main/examples/atom.py", line 70, in <module>
df = dd.read_csv("atom/*.csv")
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/amar630/anaconda3/envs/py3-11/lib/python3.11/site-packages/dask/backends.py", line 138, in wrapper
raise type(e)(
OSError: An error occurred while calling the read_csv method registered to the pandas backend.
I tried uncommenting the commented code, but then I get an error that G is not defined.
I am running Python 3.11.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.