Giter Site home page Giter Site logo

auto-07p / auto-07p Goto Github PK

View Code? Open in Web Editor NEW
114.0 114.0 47.0 6.86 MB

AUTO is a publicly available software for continuation and bifurcation problems in ordinary differential equations originally written in 1980 and widely used in the dynamical systems community.

Makefile 0.53% Shell 0.78% Python 24.16% M4 0.34% Roff 3.24% Fortran 47.73% C 9.54% TeX 0.15% C++ 13.53%
dynamical-systems ode ordinary-differential-equations

auto-07p's Introduction

NOTE: this is a beta version of AUTO-07p.
It is already usable, but some of the demos and the manual
in particular need more work.
Please have a look at the manual, doc/auto.pdf,
in particular Chapter 1, for information about
requirements and differences with earlier versions
of AUTO. See the file CHANGELOG for changes between
sub-versions of AUTO-07p.

---------
For installation instructions see the AUTO manual.  
The LaTeX source file of the manual is in doc/auto.tex. 

Note that you must define the correct path to the
AUTO directory in your (.bashrc) resource file.

This version of AUTO incorporates both a Unix and 
a Python command language user interface (CLUI).

auto-07p's People

Contributors

andram avatar balbirthomas avatar bartoldeman avatar debilski avatar markolenik avatar skirpichev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

auto-07p's Issues

AUTORuntimeError in docs example, while address column in branch data by str

An example from p.39

$ ~/src/auto-07p/bin/auto -i

AUTO In [1]: pwd                                                                                                                       
Out[1]: '/home/sk/src/auto-07p/demos/lrz'

AUTO In [2]: data = run('lrz')                                                                                                         
Starting lrz ...

  BR    PT  TY  LAB      rho         L2-NORM          x             y             z       
   1     1  EP    1   0.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00
   1     5  BP    2   1.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00
   1    13  UZ    3   3.00000E+01   0.00000E+00   0.00000E+00   0.00000E+00   0.00000E+00

  BR    PT  TY  LAB      rho         L2-NORM          x             y             z       
   2    42  HB    4   2.47368E+01   2.62685E+01   7.95602E+00   7.95602E+00   2.37368E+01
   2    45  UZ    5   3.00000E+01   3.15542E+01   8.79394E+00   8.79394E+00   2.90000E+01

  BR    PT  TY  LAB      rho         L2-NORM          x             y             z       
   2    42  HB    6   2.47368E+01   2.62685E+01  -7.95602E+00  -7.95602E+00   2.37368E+01
   2    45  UZ    7   3.00000E+01   3.15542E+01  -8.79394E+00  -8.79394E+00   2.90000E+01

 Total Time    0.528E-01
lrz ... done

AUTO In [3]: br = data[1]                                                                                                              

AUTO In [4]: br[0]                                                                                                                     
Out[4]: {'BR': 2, 'PT': -1, 'TY number': 0, 'TY name': 'No Label', 'LAB': 0, 'data': [0.99999994, 0.0, 0.0, 0.0, 0.0], 'section': 0, 'index': 0}

AUTO In [5]: br['PAR(1)']                                                                                                              
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~/src/auto-07p/python/auto/Points.py in _map_names_to_ixs(self, namelist)
    578                 # single string
--> 579                 return self._name_ix_map[namelist]
    580             except TypeError:

KeyError: 'PAR(1)'

During handling of the above exception, another exception occurred:

AUTORuntimeError                          Traceback (most recent call last)
<ipython-input-5-61b97bc7d033> in <module>
----> 1 br['PAR(1)']

~/src/auto-07p/python/auto/parseB.py in __getitem__(self, index)
    108 
    109     def __getitem__(self,index):
--> 110         return self.getIndex(index)
    111 
    112     def __call__(self,label=None):

~/src/auto-07p/python/auto/parseB.py in getIndex(self, index)
    570             if not Points.numpyimported:
    571                 Points.importnumpy()
--> 572             ret = Points.Pointset.__getitem__(self,index)
    573             if isinstance(ret, Points.Pointset):
    574                 r = self.__class__(self)

~/src/auto-07p/python/auto/Points.py in __getitem__(self, ix)
   1372                     return self.coordarray[self._map_names_to_ixs(ix),:]
   1373             else:
-> 1374                 return self.coordarray[self._map_names_to_ixs(ix),:]
   1375         elif isinstance(ix, list):
   1376             if all([x in self.coordnames for x in ix]):

~/src/auto-07p/python/auto/Points.py in _map_names_to_ixs(self, namelist)
    584             e = sys.exc_info()[1]
    585             import AUTOExceptions
--> 586             raise AUTOExceptions.AUTORuntimeError("Name not found: "+str(e))
    587 
    588 

AUTORuntimeError: Name not found: 'PAR(1)'

AUTO In [6]:                                                       

This is for CPython 3.7.3.

Same in Py2:

AUTO> br['PAR(1)']
AUTO Runtime Error: Name not found: 'PAR(1)'

Error finding libraries on Mac

I'm getting the following error when trying to build auto from the makefile on an Intel Mac running Monterey 12.3.1:

gfortran -g -O autlab.f90 utility.o -o ../bin/autlab
ld: library not found for -lm

but utility.o is where it is supposed to be in the lib directory.

Windows 10 plotting issue

I'm having issues with the plot() command,and get the following error whenever I use it;

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/AUTOCommands.py", line 1848, in plot
    handle = windowPlotter.WindowPlotter2D(root,**options)
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/windowPlotter.py", line 259, in __init__
    WindowPlotter.__init__(self,plotter.plotter,parent,**kw)
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/windowPlotter.py", line 92, in __init__
    typeEntry = self.createcomponent('typeEntry',
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/Pmw.py", line 560, in createcomponent
    widget = widgetClass(*widgetArgs, **kw)
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/Pmw.py", line 8143, in __init__
    self._entryfield = self.createcomponent('entryfield',
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/Pmw.py", line 560, in createcomponent
    widget = widgetClass(*widgetArgs, **kw)
  File "C:/msys64/home/LocalAdmin/auto/07p/python/auto/graphics/Pmw.py", line 2965, in __init__
    sequences = root.bind_class(tag)
  File "C:/msys64/mingw64/lib/python3.8/tkinter/__init__.py", line 1411, in bind_class
    return self._bind(('bind', className), sequence, func, add, 0)
  File "C:/msys64/mingw64/lib/python3.8/tkinter/__init__.py", line 1342, in _bind
    return self.tk.splitlist(self.tk.call(what))
_tkinter.TclError: bad window path name ".!toplevel.!frame.!frame.!frame2.!frame.!entry"

Should I be running python 2.7?

Errors compiling on a Mac

I just attempted to compile auto on an Intel Mac running Big Sur 11.3.1.

I'm going to dump all the messages I got. First, I ran ./configure and got several warnings

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking for gfortran... gfortran
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking for Fortran flag to compile .f90 files... none
checking for Fortran flag needed to accept free-form source... none
checking for F2003 or pre-F2003 compatibility functions... f2003.f90
checking build system type... x86_64-apple-darwin20.4.0
checking host system type... x86_64-apple-darwin20.4.0
checking how to get verbose linking output from gfortran... -v
checking for Fortran libraries of gfortran...  -L/usr/local/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/x86_64-apple-darwin20/10.2.0 -L/usr/local/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/x86_64-apple-darwin20/10.2.0/../../.. -lgfortran -lquadmath -lm
checking for dummy main to link with Fortran libraries... none
checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore
checking for OpenMP flag of Fortran compiler... -fopenmp
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking for XmCreateMainWindow in -lXm... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for coin-config... true
coin-config: no default Coin config available in /usr/local/share/Coin/conf/
coin-config: no default Coin config available in /usr/local/share/Coin/conf/
coin-config: no default Coin config available in /usr/local/share/Coin/conf/
configure: error: COIN3D is not installed
checking for abort in -lInventor... no
configure: error: OI is not installed
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating util/Makefile
config.status: creating gui/Makefile
config.status: creating tek2ps/Makefile
config.status: creating plaut/Makefile
config.status: creating plaut04/Makefile
config.status: creating plaut04/src/Makefile
config.status: creating cmds/cmds.make
config.status: creating cmds/Makefile
config.status: creating gui/auto.makefile
config.status: creating cmds/compat.sh
config.status: creating include/config.h
config.status: include/config.h is unchanged
***************************************************
It was requested that the plotting utility PLAUT04 
be compiled but the proper libraries (Coin3D and   
SoQt or SoXt or Open Inventor and Open Inventor Xt)
and perhaps Motif libraries (libXm) could not be   
found. The compilation of PLAUT04 is disabled.     
***************************************************
***************************************************
AUTO has been configured with support for OpenMP
***************************************************

I installed Coin3D using homebrew, reran the configure script, and got the same error message again.

I then pressed ahead and ran make, which compiled a few things but then stopped after giving me the following error:

gfortran -fopenmp -O -c maps.f90 -o ../lib/maps.o
maps.f90:97:41:

   97 |                         DFDP(1,ICP(J)),1,1d0,DFDP1(1,ICP(J)),1)
      |                                         1
......
  257 |     CALL DGEMV('n',NDM,NDM,F,DFDU,NDM,U(NDM+1),1,0,DFDV(1,NDM+1),1)
      |                                                 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
make[1]: *** [../lib/maps.o] Error 1
make: *** [src] Error 2

Where do I go from here?

Problem with the `__repr__` method in the Pointset python class

Hi there,

While trying to load my AUTO data into a Jupyter notebook, I ran into a possible issue with the __repr__ method of the Pointset python class:

auto_directory = !echo $AUTO_DIR
auto_directory = auto_directory[0]
playground_directory = '../'
import sys

sys.path.append(auto_directory + '/python/auto')
import AUTOCommands as ac
import AUTOclui as acl
import interactiveBindings as ib
import runAUTO as ra
import parseB, parseC, parseD
pb_obj = parseB.parseB()
f = open(playground_directory + 'b.fp15', 'r')
pb_obj.read(f)
pb_obj.branches[0]
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

File ~/fileserver/home/anaconda3/envs/qgs_shil/lib/python3.8/site-packages/IPython/core/formatters.py:707, in PlainTextFormatter.__call__(self, obj)
    700 stream = StringIO()
    701 printer = pretty.RepresentationPrinter(stream, self.verbose,
    702     self.max_width, self.newline,
    703     max_seq_length=self.max_seq_length,
    704     singleton_pprinters=self.singleton_printers,
    705     type_pprinters=self.type_printers,
    706     deferred_pprinters=self.deferred_printers)
--> 707 printer.pretty(obj)
    708 printer.flush()
    709 return stream.getvalue()


File ~/fileserver/home/anaconda3/envs/qgs_shil/lib/python3.8/site-packages/IPython/lib/pretty.py:410, in RepresentationPrinter.pretty(self, obj)
    407                         return meth(obj, self, cycle)
    408                 if cls is not object \
    409                         and callable(cls.__dict__.get('__repr__')):
--> 410                     return _repr_pprint(obj, self, cycle)
    412     return _default_pprint(obj, self, cycle)
    413 finally:


File ~/fileserver/home/anaconda3/envs/qgs_shil/lib/python3.8/site-packages/IPython/lib/pretty.py:778, in _repr_pprint(obj, p, cycle)
    776 """A pprint that just redirects to the normal repr function."""
    777 # Find newlines and replace them with p.break_()
--> 778 output = repr(obj)
    779 lines = output.splitlines()
    780 with p.group():


File ~/auto-07p/python/auto/Points.py:1956, in Pointset.__repr__(self)
   1955 def __repr__(self):
-> 1956     return self._infostr(verbose=1)


File ~/auto-07p/python/auto/Points.py:1951, in Pointset._infostr(self, verbose)
   1949         if c != self.coordnames[-1]:
   1950             outputStr += "\n"
-> 1951     outputStr += "\nLabels by index: " + self.labels._infostr(17)
   1952 return outputStr


File ~/auto-07p/python/auto/Points.py:2382, in PointInfo._infostr(self, tab)
   2380 entries = self.sortByIndex()
   2381 if lenself > 8:
-> 2382     return basestr.join([_pretty_print_label(i) for i in entries[0:3]]) + ",\n" +\
   2383            (tabstr + " .\n")*3 + tabstr +\
   2384            basestr.join([_pretty_print_label(i) for i in entries[-3:]])
   2385 else:
   2386     return basestr.join([_pretty_print_label(i) for i in entries])


TypeError: 'zip' object is not subscriptable

So it seems that entries is a zip object while _infostr expect it to be an iterable.

On the other hand, pb_obj.branches[0].todict() works, and other methods as well, so it is really something going on with the __repr__ method.

Note that I'm using v0.9.2, commit 8fda2b7 , but I have not see this bug (?) mentioned in the v0.9.3 changelog so I guess it is still there.

Best,

Jonathan

Compilation on Ubuntu 20.10

Upon attempting to compile release 0.9.2 I am having this error:

 gfortran -fopenmp -O -c maps.f90 -o ../lib/maps.o
maps.f90:97:41:

   97 |                         DFDP(1,ICP(J)),1,1d0,DFDP1(1,ICP(J)),1)
      |                                         1
......
  257 |     CALL DGEMV('n',NDM,NDM,F,DFDU,NDM,U(NDM+1),1,0,DFDV(1,NDM+1),1)
      |                                                 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
make[1]: *** [Makefile:48: ../lib/maps.o] Erro 1
make[1]: Saindo do diretório '/home/fccoelho/Downloads/auto/07p/src'
make: *** [Makefile:14: src] Erro 2

Memory error when continuing from a fold continuation point

I do a fold continuation of a periodic solution branch of a four-state autonomous system.

However, right at the time the fold continuation is being finalised, the following error is given:
free() invalid next size fast()
However, the fold continuation is itself successful: I get the results by selecting the data from the terminal prints and plotting elsewhere.

For some values of my parameters, I get the this error, while for some other combination of parameter values I do not get this error and the continuation completes successfully.

How can I solve this? Thanks.

Specifying the Jacobian of the boundary conditions.

Section 3.4 of the manual specifies the format for user-supplied derivatives.
When it comes to boundary conditions I read:

BCND – Derivatives with respect to the two boundary conditions are specified in DBC(1:NBC,1:NBC) and DBC(1:NBC, NBC+1:2*NBC), respectively.
– Parameter derivatives go into DBC(1:NBC, 2*NBC+1:2*NBC+NPAR).

I think that the explanation is misleading, and I suggest replacing the following replacement text:

BCND – Derivatives of the boundary conditions with respect to phase-space variables at the two boundary points are specified in DBC(1:NBC,1:NDIM) and DBC(1:NBC, NDIM+1:2*NDIM), respectively.
– Parameter derivatives go into DBC(1:NBC, 2*NDIM+1:2*NDIM+NPAR).

Consult: Compile use problem, can not compile PLAUT04 graphics

Hello developer, I am learning to use this software, but I have encountered some problems when compiling, I want to use the graphical interface, I refer to the pdf document provided, but the compilation has not been successful, I installed the relevant dependency visualization package, Including coin3d, soqt, motif, xterm, libXm, libXt, etc. When I run: ./configure -- enable-gui, it says PLAUT04 is disabled. How can I solve this problem?

I google for a long time, tried for 2 days, found that the Internet is win system, but there is no centos system, so I want to ask you to organize a article about centos and rocky linux installation methods, but also convenient for others to refer to.

Problem environment:

  • centos-7.9
  • gcc-4.8.5
  • make-3.82

image

image

这是config.log:config.log

Error in GCC when trying to install AUTO-07P on mac

I am new to mac, and I am trying to install the software AUTO-07P on my macOS (version 10.14.6). I have found the following instructions - link. The instructions are not updated, so I am not sure whether I need to install the gcc and gfortran from hpc.sourceforge.net, but when I type gcc -version in the terminal I get:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

However, when I type ./configure in auto/07p folder I get:


checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/Users/omertzuk/auto/07p':
configure: error: C compiler cannot create executables
See `config.log' for more details.

Any directions on how to fix it?

new minor release (and misc questions)?

Hello, I'm current maintainer of the Debian auto-07p package. IIUC, this Github repo is the new "official" place for development of the auto-07p?

I see, some (almost all?) Python3 compatibility issues were solved here, as well some problems with newer numpy/matplotlib (https://sourceforge.net/p/auto-07p/support-requests/7/ and so on). Now about making a new minor release? Missing Py3 support is an important issue for the next Debian release (see #936164).

add topics

I suggest adding topics such as dynamical-systems, ordinary-differential-equations, ode in the About section.

output problem

My simple ecological model has a stable equilibrium. However, it is an unstable equilibrium according to fort.7, i.e., the numbers in the PT column are positive; fort.9 correctly indicates that it is a stable equilibrium. Could something subtle have gone wrong with the installation of AUTO on my macOS Catalina version 10.15.1?

PLAUT04 ignored

Auto is running fine but only plotting with Tkinter. From installation of 0.9.3 on Ubuntu 22.04 (copied below) it appeared that PLAUT04 installed fine. Any suggestions for what to try?

$ ./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /usr/bin/sed
checking for gfortran... gfortran
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking for Fortran flag to compile .f90 files... none
checking for Fortran flag needed to accept free-form source... none
checking for F2003... sufficient Fortran 2003 support found
checking for OpenMP flag of Fortran compiler... -fopenmp
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XmCreateMainWindow in -lXm... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.28... yes
checking for Coin... yes
configure: Coin3d OK.
checking for soqt-config... true
checking for QtCore QtGui QtOpenGL... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking for Qt5Core Qt5Gui Qt5OpenGL... yes
checking for soxt-config... true
checking for abort in -lSoXt... yes
configure: Coin3d SoXt OK. -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -L/usr/local/lib -lSoXt -lXm -lCoin -lGL -lXext -lSM -lICE -lX11 -lpthread -lXt -lXi -lXmu -lXpm
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating util/Makefile
config.status: creating gui/Makefile
config.status: creating plaut/Makefile
config.status: creating plaut04/Makefile
config.status: creating plaut04/src/Makefile
config.status: creating cmds/cmds.make
config.status: creating cmds/Makefile
config.status: creating gui/auto.makefile


AUTO has been configured with support for OpenMP


$ make
cd ./src;make
make[1]: Entering directory '/home/XXX/auto/07p/src'
gfortran -g -fopenmp -O -I../include -c auto_constants.f90 -o ../lib/auto_constants.o
gfortran -g -fopenmp -O -c nompi.f90 -o ../lib/mpi.o
gfortran -g -fopenmp -O -c mesh.f90 -o ../lib/mesh.o
gfortran -g -fopenmp -O -c support.f90 -o ../lib/support.o
gfortran -g -fopenmp -O -c interfaces.f90 -o ../lib/interfaces.o
gfortran -g -fopenmp -O -c solvebv.f90 -o ../lib/solvebv.o
gfortran -g -fopenmp -O -c f2003.f90 -o ../lib/compat.o
gfortran -g -fopenmp -O -c io.f90 -o ../lib/io.o
gfortran -g -fopenmp -O -c bvp.f90 -o ../lib/bvp.o
gfortran -g -fopenmp -O -c toolboxbv.f90 -o ../lib/toolboxbv.o
gfortran -g -fopenmp -O -c homcont.f90 -o ../lib/homcont.o
gfortran -g -fopenmp -O -c ae.f90 -o ../lib/ae.o
gfortran -g -fopenmp -O -c toolboxae.f90 -o ../lib/toolboxae.o
gfortran -g -fopenmp -O -c equilibrium.f90 -o ../lib/equilibrium.o
gfortran -g -fopenmp -O -c maps.f90 -o ../lib/maps.o
gfortran -g -fopenmp -O -c floquet.f90 -o ../lib/floquet.o
gfortran -g -fopenmp -O -c periodic.f90 -o ../lib/periodic.o
gfortran -g -fopenmp -O -c optimization.f90 -o ../lib/optimization.o
gfortran -g -fopenmp -O -c parabolic.f90 -o ../lib/parabolic.o
gfortran -g -fopenmp -O -c timeint.f90 -o ../lib/timeint.o
gfortran -g -fopenmp -O -c main.f90 -o ../lib/main.o
gfortran -g -fopenmp -O -c blas.f -o ../lib/blas.o
gfortran -g -fopenmp -O -c lapack.f -o ../lib/lapack.o
rm -f ../lib/libauto_c.a
gfortran -g -fopenmp -O -c user_c.f90 -o user_c.o
ar cr ../lib/libauto_c.a user_c.o
rm -f user_c.o
make[1]: Leaving directory '/home/XXX/auto/07p/src'

work around case insensitive filesystems

cd ./cmds; for cmd in @h @lb @r @rd; do
if test ! -r $cmd; then
cp -p @$cmd $cmd;
fi
done
cd ./util;make
make[1]: Entering directory '/home/XXX/auto/07p/util'
gfortran -g -fopenmp -O -c utility.f90 -o utility.o
gfortran -g -fopenmp -O autlab.f90 utility.o -o ../bin/autlab
gfortran -g -fopenmp -O double.f90 -o ../bin/double
gfortran -g -fopenmp -O triple.f90 -o ../bin/triple
gfortran -g -fopenmp -O keeplp.f90 utility.o -o ../bin/keeplp
gfortran -g -fopenmp -O keepbp.f90 utility.o -o ../bin/keepbp
gfortran -g -fopenmp -O keepsp.f90 utility.o -o ../bin/keepsp
gfortran -g -fopenmp -O keepuz.f90 utility.o -o ../bin/keepuz
gfortran -g -fopenmp -O deletelp.f90 utility.o -o ../bin/deletelp
gfortran -g -fopenmp -O listlabels.f90 utility.o -o ../bin/listlabels
gfortran -g -fopenmp -O reduce.f90 utility.o -o ../bin/reduce
gfortran -g -fopenmp -O -c ../src/f2003.f90 -o compat.o
gfortran -g -fopenmp -O relabel.f90 compat.o -o ../bin/relabel
make[1]: Leaving directory '/home/XXX/auto/07p/util'
cd ./plaut;make
make[1]: Entering directory '/home/XXX/auto/07p/plaut'
gfortran -O -c plautdev.f -o plautdev.o
gfortran -O -c plautint.f -o plautint.o
gfortran -O -c plautlib.f -o plautlib.o
gfortran -O -c ../src/f2003.f90 -o compat.o
gfortran -O -c plautmain.f -o plautmain.o
gfortran plautdev.o plautint.o plautlib.o plautmain.o compat.o -o ../bin/plaut
make[1]: Leaving directory '/home/XXX/auto/07p/plaut'
cd ./plaut04;make
make[1]: Entering directory '/home/XXX/auto/07p/plaut04'
cd src && make
make[2]: Entering directory '/home/XXX/auto/07p/plaut04/src'
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c bifurcation.c++ -o bifurcation.o
bifurcation.c++: In member function ‘bool Bifurcation::read(const char*, int*)’:
bifurcation.c++:724:19: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
724 | fscanf(inFile, "%ld %d %d", &pt, &lbType, &lb);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bifurcation.c++: In member function ‘bool Bifurcation::parse(const char*)’:
bifurcation.c++:840:19: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
840 | fscanf(inFile, "%ld %d %d", &pt, &lbType, &lb);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c solution.c++ -o solution.o
solution.c++: In member function ‘bool Solution::read(const char*, int*)’:
solution.c++:1880:15: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1880 | fscanf(inFile,"%d %d %d %d %d %d %d %d %d %d %d %d",
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1881 | &ibr,&ntot,&itp,&lab,&nfpr,&isw,&ntpl,&nar,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1882 | &nrowpr,&ntst,&ncol,&npar1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
solution.c++:1927:31: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1927 | fscanf(inFile,"%24s",dummystr);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
solution.c++:1947:50: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1947 | for(i=0; i<nLines; ++i) fgets(line, sizeof(line), inFile);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
solution.c++:1953:26: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1953 | fgets(line, sizeof(line), inFile);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
solution.c++:1958:31: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1958 | fscanf(inFile,"%[ \t\n]");
| ~~~~~~^~~~~~~~~~~~~~~~~~~~
solution.c++:1959:31: warning: ignoring return value of ‘int fscanf(FILE
, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1959 | fscanf(inFile,"%24[^ \t\n]",dummystr);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c stringtrim.c++ -o stringtrim.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c tube.c++ -o tube.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c polygon3d.c++ -o polygon3d.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c readFM.c++ -o readFM.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c createBoundingBox.c++ -o createBoundingBox.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c createCoords.c++ -o createCoords.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c axis.c++ -o axis.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c createLegend.c++ -o createLegend.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c gmain.c++ -o gmain.o
gmain.c++: In function ‘void showHelpDialog()’:
gmain.c++:227:15: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
227 | system("xmessage 'Sorry, could not find "
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
228 | "userguide.pdf' > /dev/null");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmain.c++:235:15: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
235 | system("xmessage 'You must install xpdf"
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236 | " for this function to work' > /dev/null");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmain.c++:241:11: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
241 | system(command);
| ~~~~~~^~~~~~~~~
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c gmainxt.c++ -o gmainxt.o
gmainxt.c++: In function ‘void createGraphCoordinateSystemFrameGuts(Widget)’:
gmainxt.c++:2386:84: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2386 | w, XmNvalueChangedCallback, graphCoordinateSystemToggledCB, (XtPointer) i);
| ^~~~~~~~~~~~~

gmainxt.c++: In function ‘void createGraphStyleFrameGuts(Widget)’:
gmainxt.c++:2438:79: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2438 | ack (w, XmNvalueChangedCallback, graphStyleWidgetToggledCB, (XtPointer) i);
| ^~~~~~~~~~~~~

gmainxt.c++: In function ‘void createGraphTypeFrameGuts(Widget)’:
gmainxt.c++:2508:78: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2508 | back (w, XmNvalueChangedCallback, graphTypeWidgetToggledCB, (XtPointer) i);
| ^~~~~~~~~~~~~

gmainxt.c++: In function ‘void createOptionFrameGuts(Widget)’:
gmainxt.c++:2560:81: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2560 | k (w, XmNvalueChangedCallback, defaultGraphWidgetToggledCB, (XtPointer) i);
| ^~~~~~~~~~~~~

gmainxt.c++: In function ‘void createGraphCoordPartsFrameGuts(Widget)’:
gmainxt.c++:2636:79: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2636 | ack (w, XmNvalueChangedCallback, graphCoordWidgetToggledCB, (XtPointer) i);
| ^~~~~~~~~~~~~

gmainxt.c++: In function ‘void getFileName(int)’:
gmainxt.c++:3094:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
3094 | fileDialogCB, (XtPointer)fileMode);
| ^~~~~~~~~~~~~~~~~~~
gmainxt.c++: In function ‘void popupFloquetMultiplierDialog(float*, int, int)’:
gmainxt.c++:3537:83: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
3537 | (fmDrawingArea, XmNexposeCallback, redrawFloqueMultipliers, (XtPointer)numFM);
| ^~~~~~~~~~~~~~~~

g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c rounding.c++ -o rounding.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c printToPS.c++ -o printToPS.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c createSphere.c++ -o createSphere.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c createDisk.c++ -o createDisk.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c r3b/createLibPoint.c++ -o r3b/createLibPoint.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c r3b/createPrimary.c++ -o r3b/createPrimary.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c r3b/gmainr3b.c++ -o r3b/gmainr3b.o
g++ -I../../plaut04/includes -I/usr/local/include -I/usr/local/include/Inventor/annex -D_REENTRANT -g -O2 -c r3b/toInertialFrame.c++ -o r3b/toInertialFrame.o
g++ -g -O2 -o ../../bin/plaut04 bifurcation.o solution.o stringtrim.o tube.o polygon3d.o readFM.o createBoundingBox.o createCoords.o axis.o createLegend.o gmain.o gmainxt.o rounding.o printToPS.o createSphere.o createDisk.o r3b/createLibPoint.o r3b/createPrimary.o r3b/gmainr3b.o r3b/toInertialFrame.o -lSM -lICE -L/usr/local/lib -lSoXt -lXm -lCoin -lGL -lXext -lSM -lICE -lX11 -lpthread -lXt -lXi -lXmu -lXpm -lXm -lXt -lX11
make[2]: Leaving directory '/home/XXX/auto/07p/plaut04/src'
make[1]: Leaving directory '/home/XXX/auto/07p/plaut04'

Documentation (/doc/auto.tex) is not compiling

There seem to be numerous errors, when trying to compile the manual, where the installation instruction should be. These include

  • various files in /doc/include are in the wrong format, png instead of pdf-
  • bibliography is missing

(A complete log of issues and errors that appear when compiling can be found here auto.log)

  • some contents in the manual are outdated; e.g. right on the first page of 1.1. Installation it says that the current version of auto, 0.9.2 can be found http://cmvl.cs.concordia.ca/auto, though this link is dead. Perhaps point to this github?

  • since Python 3 is not backwards compatible with Python 2, some definitive statement about the Python version in the documentation would be helpful: It would be unusual if both versions of Python would be supported (so if that is indeed that, it would be helpful if this were explicitly mentioned). Currently it is mentioned that "Python 2.7 or higher" is supported, which is slightly ambiguous as to which Python version one should have installed.

I assume that while the software has gone through several updates, the manual has not held pace. It would be great if the manual would be updated too.

PyPI integration

I wonder whether it would be possible to make Auto-07p available via PyPI? Since you have already created a github workflow (.github/workflows/test.yaml) for pushing and pull requests, you could set up something similar that would allow to install a specific version of Auto-07p via pip.

This would make it easier to handle dependencies and also to build packages on top of Auto-07p.
I recommend triggering a new PyPI release with every new release that you build on github, via a github workflow.
See https://github.com/pyrates-neuroscience/PyRates/blob/master/.github/workflows/python-publish.yml for an exemplary YAML file that serves that particular purpose.

Windows 10 configure step hangs

I've been attempting to follow the steps laid out in the AUTO-07p manual, and everything seems to have worked up until using the './configure' command. The process is hanging after showing
"
checking for ANSI C header files...
".
I have attached config.log.

Thank you.

Request: Add AUTO output file format (fort.8) documentation to the official manual

The format for the AUTO output files (fort.8) is not documented in the AUTO manual. The only available documentation for the output file format is found in an old workshop material:

https://depts.washington.edu/bdecon/workshop2012/auto-tutorial/documentation/auto07p%20output-file-format.txt

It would be helpful if the AUTO output file format, including fort.8, were added to the official AUTO manual. This would make it easier for users to understand and interpret the output files.

Freature request: pip package

How about adding a setup.py such that auto could be completely installed via pip and conda. That would make it easier to quickly install it locally for a tutorial in computer pool. I guess it would not be too difficult to have it complied and stored in .local/lib/python3.x/site-packages. That would be fine if auto is only used from within python. For a comandline usage that would need to be added to the path.

Print all user parameters to fort.7 file

I am working with a system with 12 dimensions, but the fort.7 file only contains the solutions for the first 6 listed. I can get all the values from the fort.8 file, but these only include outputs every "NPR" steps (where I set NPR in the .c file). Is there a way in the .c file to force AUTO to output all the dimensions in the fort.7 file?

Screenshot 2022-09-15 144056
Screenshot 2022-09-15 144136

`make check` python-errors in r3b with `ValueError: operands could not be broadcast together with shapes (31,) (0,)`.

After having built auto-07p with

./configure \
  --enable-plaut \
  --enable-plaut04 --enable-plaut04-qt \
  --with-openmp \
  --with-mpi \
  --enable-gui \
  --with-x \
  --with-optimization-flags="-Og -g3 -ggdb3" \
  --prefix="/opt/auto/07p" \
  FC="gfortan" \
  MPIFC="mpifort" \
  FFLAGS="-ggdb3" \
  CFLAGS="-Og -ggdb3 -g3 -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG" \
  CXXFLAGS="-Og -ggdb3 -g3 -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG"

make

a call of
make check
spills out the error

[...]
***Compute libration points
mpifort -Ofast -fopenmp -O3 -c r3b.f90 -o r3b.o
mpifort -Ofast -fopenmp -O3 r3b.o -o r3b.exe /tmp/makepkg/build/auto-07p-git/src/auto/07p/lib/*.o
Starting r3b ...

  BR    PT  TY  LAB       mu         L2-NORM          x             y             z            ev1           ev2           ev3      
   1     1  EP    1   0.00000E+00   1.00000E+00   1.41070E-01   9.90000E-01   0.00000E+00   6.28319E+00   6.28319E+00   3.43182E+03
   1    25  BP    2  -5.87409E-11   1.00000E+00   4.99917E-01   8.66073E-01   0.00000E+00   6.28319E+00   6.28319E+00   0.00000E+00
   1    83  BP    3  -8.10663E-09   1.00000E+00   5.00000E-01  -8.66025E-01   0.00000E+00   6.28319E+00   6.28319E+00   0.00000E+00
   1   141  BP    4  -4.41108E-08   1.00000E+00  -1.00000E+00  -7.76934E-08   0.00000E+00   6.28319E+00   6.28319E+00   1.84647E+04
   1   181  UZ    5  -6.90239E-17   1.00000E+00  -1.33862E-01   9.91000E-01   0.00000E+00   6.28319E+00   6.28319E+00   0.00000E+00

  BR    PT  TY  LAB       mu         L2-NORM          x             y             z            ev1           ev2           ev3      
   2    13  UZ    6   6.30000E-02   9.70036E-01   4.37000E-01   8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00
   2    27  BP    7   1.00000E+00   1.00000E+00  -5.00000E-01   8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00
   2    29  UZ    8   1.10000E+00   1.05357E+00  -6.00000E-01   8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00

  BR    PT  TY  LAB       mu         L2-NORM          x             y             z            ev1           ev2           ev3      
   3    13  UZ    9   6.30000E-02   9.70036E-01   4.37000E-01  -8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00
   3    27  BP   10   1.00000E+00   1.00000E+00  -5.00000E-01  -8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00
   3    29  UZ   11   1.10000E+00   1.05357E+00  -6.00000E-01  -8.66025E-01   0.00000E+00   6.28319E+00   0.00000E+00   0.00000E+00

  BR    PT  TY  LAB       mu         L2-NORM          x             y             z            ev1           ev2           ev3      
   4    12  UZ   12   6.29987E-02   1.02624E+00  -1.02624E+00   4.30521E-55   0.00000E+00   5.98154E+00   6.11212E+00   0.00000E+00
   4    66  UZ   13   6.30047E-02   6.84812E-01   6.84812E-01   0.00000E+00   0.00000E+00   2.46895E+00   2.52972E+00   0.00000E+00
   4    76  UZ   14   6.30044E-02   1.23970E+00   1.23970E+00   0.00000E+00   0.00000E+00   3.65074E+00   3.82721E+00   0.00000E+00
   4    93  BP   15   1.00000E+00   9.99999E-01   9.99999E-01   0.00000E+00   0.00000E+00   6.28319E+00   6.28320E+00   2.75051E+03
   4    95  UZ   16   1.10000E+00   9.58386E-01   9.58386E-01   0.00000E+00   0.00000E+00   6.56369E+00   7.11528E+00   1.13984E+01

 Total Time    0.634E-01
r3b ... done
L1:
Traceback (most recent call last):
  File "r3b.auto", line 12, in <module>
    compute_lps.write_lagrange(r1)
  File "/tmp/makepkg/build/auto-07p-git/src/auto/07p/test/tmp/compute_lps.py", line 17, in write_lagrange
    period = x.PAR(parnumber)
             ^^^^^
  File "/tmp/makepkg/build/auto-07p-git/src/auto/07p/python/auto/parseS.py", line 1018, in __getattr__
    self.__readAll()
  File "/tmp/makepkg/build/auto-07p-git/src/auto/07p/python/auto/parseS.py", line 941, in __readAll
    fdata = self.__input.readfloats(self.__index, total)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/makepkg/build/auto-07p-git/src/auto/07p/python/auto/parseS.py", line 159, in readfloats
    if fdata == [] or len(fdata) != total:
       ^^^^^^^^^^^
ValueError: operands could not be broadcast together with shapes (31,) (0,) 
[...]
Major errors found in: fnb fnc r3b snh
Please point your web browser to the following URL for detailed results:
file:/tmp/makepkg/build/auto-07p-git/src/auto/07p/test/verification/index.html
make: *** [Makefile:116: check] Error 1

As it can be seen, issues were also in fnb, fnc and snh, which I have not spotted by sporadically watching the terminal.

I attach the test result folder test/verification as an archive: verification.tar.gz.

Python version: 3.11.3.

Regards!

Problem with compilation of Auto-07p 0.9.2 on Ubuntu 20.04.1 x64

Following the previous manual found in the Web, I put on terminal the following command once inside the auto-07p-0.9.2:

./configure --enable-gui

After this, everything seems fine up until the end, but it appears the following message:

It was requested that the plotting utility PLAUT04
be compiled but the proper libraries (Coin3D and
SoQt or SoXt or Open Inventor and Open Inventor Xt)
and perhaps Motif libraries (libXm) could not be
found. The compilation of PLAUT04 is disabled.

Is there any solution? I have experienced this before and I couldn't plot 3D solutions with plot3 command.

Previously, I ran these commands:

sudo apt-get update
sudo apt-get install gfortran
sudo apt-get install python3-matplotlib
sudo apt-get install ipython3
sudo apt-get install libsoqt-dev
sudo apt-get install libsimage-dev
sudo apt-get install libmotif-dev
sudo apt-get install transfig
sudo apt-get install libcanberra-gtk*

I am currently using Ubuntu 20.04.1. I didn't have this problem in Ubuntu 18.04.4.

maps.f90 does not compile for GCC 10.1.0 on Mac

Hello,

I tried to install auto-07p on MacOS Catalina (10.15.4) with GCC 10.1.0, installed via Homebrew. XCode was installed via the App Store. Anaconda is installed for python.

When I run ./configure everything works, as far as I can tell (except the software for PLAUT04, which I have not installed). The Output says:

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for gfortran... gfortran
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking for Fortran flag to compile .f90 files... none
checking for Fortran flag needed to accept free-form source... none
checking for F2003 or pre-F2003 compatibility functions... f2003.f90
checking build system type... x86_64-apple-darwin19.4.0
checking host system type... x86_64-apple-darwin19.4.0
checking how to get verbose linking output from gfortran... -v
checking for Fortran libraries of gfortran...  -L/usr/local/Cellar/gcc/10.1.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.1.0 -L/usr/local/Cellar/gcc/10.1.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.1.0/../../.. -lgfortran -lquadmath -lm
checking for dummy main to link with Fortran libraries... none
checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore
checking for OpenMP flag of Fortran compiler... -fopenmp
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for X... no
checking for XmCreateMainWindow in -lXm... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for coin-config... false
configure: error: COIN3D is not installed
checking for abort in -lInventor... no
configure: error: OI is not installed
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating util/Makefile
config.status: creating gui/Makefile
config.status: creating tek2ps/Makefile
config.status: creating plaut/Makefile
config.status: creating plaut04/Makefile
config.status: creating plaut04/src/Makefile
config.status: creating cmds/cmds.make
config.status: creating cmds/Makefile
config.status: creating gui/auto.makefile
config.status: creating cmds/compat.sh
config.status: creating include/config.h
***************************************************
It was requested that the plotting utility PLAUT04 
be compiled but the proper libraries (Coin3D and   
SoQt or SoXt or Open Inventor and Open Inventor Xt)
and perhaps Motif libraries (libXm) could not be   
found. The compilation of PLAUT04 is disabled.     
***************************************************
***************************************************
AUTO has been configured with support for OpenMP
***************************************************

When I type in make, I get a compilation error from Fortran

gfortran -fopenmp -O -I../include -c auto_constants.f90 -o ../lib/auto_constants.o
gfortran -fopenmp -O -c nompi.f90 -o ../lib/mpi.o
gfortran -fopenmp -O -c mesh.f90 -o ../lib/mesh.o
gfortran -fopenmp -O -c support.f90 -o ../lib/support.o
gfortran -fopenmp -O -c interfaces.f90 -o ../lib/interfaces.o
gfortran -fopenmp -O -c solvebv.f90 -o ../lib/solvebv.o
gfortran -fopenmp -O -c f2003.f90 -o ../lib/compat.o
gfortran -fopenmp -O -c io.f90 -o ../lib/io.o
gfortran -fopenmp -O -c bvp.f90 -o ../lib/bvp.o
gfortran -fopenmp -O -c toolboxbv.f90 -o ../lib/toolboxbv.o
gfortran -fopenmp -O -c homcont.f90 -o ../lib/homcont.o
gfortran -fopenmp -O -c ae.f90 -o ../lib/ae.o
gfortran -fopenmp -O -c toolboxae.f90 -o ../lib/toolboxae.o
gfortran -fopenmp -O -c equilibrium.f90 -o ../lib/equilibrium.o
gfortran -fopenmp -O -c maps.f90 -o ../lib/maps.o
maps.f90:97:41:

   97 |                         DFDP(1,ICP(J)),1,1d0,DFDP1(1,ICP(J)),1)
      |                                         1
......
  257 |     CALL DGEMV('n',NDM,NDM,F,DFDU,NDM,U(NDM+1),1,0,DFDV(1,NDM+1),1)
      |                                                 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
make[1]: *** [../lib/maps.o] Error 1
make: *** [src] Error 2

My output from gfortran -v is

Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/10.1.0/libexec/gcc/x86_64-apple-darwin19/10.1.0/lto-wrapper
Target: x86_64-apple-darwin19
Configured with: ../configure --build=x86_64-apple-darwin19 --prefix=/usr/local/Cellar/gcc/10.1.0 --libdir=/usr/local/Cellar/gcc/10.1.0/lib/gcc/10 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-10 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --with-pkgversion='Homebrew GCC 10.1.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk SED=/usr/bin/sed
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.1.0 (Homebrew GCC 10.1.0)

Workaround

I figured out that this is probably caused by the new GCC compiler version. To circumvent the error, I installed GCC 9.3.0 via Homebrew (brew install gcc@9) and compiled with gfortran-9 ( ./configure FC=gfortran-9 ). Then I only get warnings from plautdev.f and plautlib.f from Fortran 2018 standards and (in my case) the workaround for caseinsensitive filesystems. From what I can tell everything works with this workaround.

How to fix ode equations error....'Label HB1 is not found'

Hello,
I have a set of 3 ode equations, and I'm trying to find the simulations and bifurcations using auto-07 which worked perfectly.
But now I changed the feedback loop, and I wrote two equations and want to do the same analysis using auto-07. I tried to use the old files as a template and alter them to the new equations, but non of my trials worked and every time it shows the error that says 'Label HB1 is not found' I will attach both files for the set of 3 ode equations(this is working) and the set of 2 ode equations (this is not working).
If any one can help me with this, that will be highly appreciated
3 ode equations .zip
2 ode equations.zip

ld: library not found for -lSystem

gfortran -O -c first_run_k1.f90 -o first_run_k1.o
gfortran -O first_run_k1.o -o first_run_k1.exe /Users/johnbailie/auto/07p/lib/*.o
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
AUTO Runtime Error: Error running AUTO

~~

-lSystem Error. No idea how to fix, have already tried reconfiguring AUTO.

Am using a MacBook M1 chip.

problem to use AUTO-07p with macOS Catalina

My MacBook is macOS Catalina, Version 10.15.5.
I have installed AUTO-07p, followed the steps as in the manual. BUT there is a problem as explained below. For example when I work on "ab", which is in demos, I typed:
>> load(e='ab')

this is no problem for this , but when I typed

>> rn(c='ab')

I have received the following message:

gfortran -fopenmp -O -c ab.f90 -o ab.o
gfortran -fopenmp -O ab.o -o ab.exe /Users/aldurayhim/Downloads/auto/07p/lib/*.o
Undefined symbols for architecture x86_64:
"__gfortran_os_error_at", referenced from:
___toolboxae_MOD_rnullvc in toolboxae.o
___toolboxae_MOD_fnlpae in toolboxae.o
___toolboxae_MOD_fncpae in toolboxae.o
___toolboxae_MOD_stpnae in toolboxae.o
___toolboxae_MOD_fnbtae in toolboxae.o
___toolboxae_MOD_stpnbpf in toolboxae.o
___toolboxae_MOD_fnbpf in toolboxae.o
...
"dgees", referenced from:
___homcont_MOD_prjctn in homcont.o
"dgeev", referenced from:
___homcont_MOD_eigho in homcont.o
rg in support.o
"dgemm", referenced from:
___homcont_MOD_prjctn in homcont.o
___equilibrium_MOD_ffhbx in equilibrium.o
"dgemv", referenced from:
___equilibrium_MOD_fngheq in equilibrium.o
___equilibrium_MOD_ffhb in equilibrium.o
"dtrsen", referenced from:
___homcont_MOD_prjctn in homcont.o
"idamax", referenced from:
___solvebv_MOD_conpar in solvebv.o
_redelim.3 in solvebv.o
_reducer.6 in solvebv.o
___solvebv_MOD_solvbv._omp_fn.0 in solvebv.o
___homcont_MOD_eigho in homcont.o
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

Any help please thanks in advance

BUG: Detection of user-supplied functions depending on eigenvalues

I am studying bifurcations of limit cycles in symmetric systems that exhibit branching at nonsimple singular points (e.g. where two real Floquet multipliers simultaneously pass through +1).

Neither the BP function nor the SPB function changes signs at such points, so I have been trying to define an overloaded parameter value to locate them. In particular, I use GETP('EIG',IND,U) in my PVALS functions to get the Floquet multipliers, and I set PAR(I) to the third smallest real eigenvalue sorted by distance to 1 in absolute value (since the first is trivially 1 and the second is already well detected by BP and LP functions). I then set UZR={I:1} to try to identify these special points where two real multipliers change stability.

The issue is that when the value of PAR(I) changes sign, AUTO enters the routine LCSPBV to locate the special point, but the Floquet multipliers are not recomputed between the steps in the Mueller iterations. Thus, the value of PAR(I) does not change, and the point is poorly detected.

I implemented a few changes to src/bvp.f90 (see the diff below) to resolve this for my case, and it works quite well as I can branch switch from those equivariant bifurcations that were previously undetected. However, I'm not sure if this resolves the issue for all problem types or breaks anything else. Also, I'm not sure if such technical details are still being maintained. If there is interest, I'd be happy to provide more information.

diff --git a/src/bvp.f90 b/src/bvp.f90
index 3062fab..6c59e24 100644
--- a/src/bvp.f90
+++ b/src/bvp.f90
@@ -280,7 +280,31 @@ CONTAINS
              CALL PVLI(AP,ICP,UPS,NDIM,PAR,FNCI)
              IF(IID.GE.2)WRITE(9,*)
           ENDIF
-          DO ITEST=1,AP%NTEST
+          ! ZGN: Check for bifurcations first, before new call to FNCI on 301
+          DO ITEST=NUZR+1,AP%NTEST
+             ! Check for special points
+             CALL LCSPBV(AP,DSOLD,DSTEST,PAR,ICP,ITEST,FUNI,BCNI,ICNI,FNCI, &
+                  TEST(ITEST),RLCUR,RLOLD,RLDOT,NDIM,UPS,UOLDPS,UDOTPS, &
+                  UPOLDP,TM,DTM,P0,P1,EV,THL,THU,IUZ,VUZ,NITPS,ATYPE,STEPPED, &
+                  NTSTNA)
+             IF(STEPPED)ISTEPPED=ITEST
+             IF(LEN_TRIM(ATYPE)>0)THEN
+                IFOUND=ITEST
+                AP%ITP=LBITP(ATYPE,.TRUE.)
+                AP%ITP=AP%ITP+SIGN(10,AP%ITP)*ITPST
+             ENDIF
+          ENDDO
+
+          ! ZGN: Before checking UZRS, recalculate Floquet
+          IF(IAM==0)THEN
+             AP%IID=0 ! Disable repeated print
+             SP1 = FNCI(AP,ICP,UPS,NDIM,PAR,3,ATYPEDUM) ! New FNCI call
+             AP%IID=IID ! Restore IID
+             CALL PVLI(AP,ICP,UPS,NDIM,PAR,FNCI)
+             IF(IID.GE.2)WRITE(9,*)
+          ENDIF
+          ! ZGN: Now check UZR
+          DO ITEST=1,NUZR
              ! Check for special points
              CALL LCSPBV(AP,DSOLD,DSTEST,PAR,ICP,ITEST,FUNI,BCNI,ICNI,FNCI, &
                   TEST(ITEST),RLCUR,RLOLD,RLDOT,NDIM,UPS,UOLDPS,UDOTPS, &
@@ -1264,7 +1288,7 @@ CONTAINS
 
     INTEGER I,IAM,IID,ITMX,IBR,NTOT,NTOP,NITSP1,ISTOP,NCOL,NFPR,NITPSS
     LOGICAL SEARCH
-    DOUBLE PRECISION DS,DSMAX,EPSS,Q0,Q1,DQ,RDS,RRDS,S0,S1
+    DOUBLE PRECISION DS,DSMAX,EPSS,Q0,Q1,DQ,RDS,RRDS,S0,S1,SP1
     DOUBLE PRECISION DETS,FLDFS,DSOLDS,DSTESTS
     CHARACTER(4) :: ATYPEDUM
 
@@ -1399,7 +1423,8 @@ CONTAINS
        ENDIF
 
 ! Check for zero.
-
+       !ZGN: Recalculate FLOWKM before PVLI
+       SP1 = FNCI(AP,ICP,UPS,NDIM,PAR,3,ATYPEDUM) ! New FNCI call
        CALL PVLI(AP,ICP,UPS,NDIM,PAR,FNCI)
        IF(IID.GE.2)WRITE(9,*)
        Q=FNCS(AP,ICP,UPS,PAR,ATYPE,IUZ,VUZ,ITEST,FNCI)

PyPlaut problem with WSL

I am using Ubuntu in Windows, and I installed Auto on that kind of virtual machine. I'm facing the problem that can be seen in the following picture:

image

The plot is being shown correctly. However, the menu is not. Is anyone else facing a similar problem?

Runtime error/segmentation fault Ubuntu 22.04

I am receiving a Segmentation fault (see below) when starting a continuation with the command run (after doing clean)

Starting kdv ...

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0 0x7fbf0bb44ae0 in ???
#1 0x7fbf0bb43c45 in ???
#2 0x7fbf0b7ea51f in ???
at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3 0x7fbf0bb460e8 in ???
#4 0x7fbf0bb4627c in ???
#5 0x7fbf0bb441c4 in ???
#6 0x7fbf0bd9639d in ???
#7 0x55b7527d9f21 in ???
#8 0x55b7527db8e0 in ???
#9 0x7fbf0b7d1d8f in __libc_start_call_main
at ../sysdeps/nptl/libc_start_call_main.h:58
#10 0x7fbf0b7d1e3f in __libc_start_main_impl
at ../csu/libc-start.c:392
#11 0x55b7527474c4 in ???
#12 0xffffffffffffffff in ???
Segmentation fault (core dumped)
kdv ... done
AUTO Runtime Error: Error running AUTO

Any ideas? Exactly the same issue with a .f90 demo, e.g. exp

I will some quirks about the installation but I don't think these are important. After upgrading to Ubuntu 22.04 I made a fresh install of auto07p (and some of it's dependencies until configure was happy).

  • compiled coind3d and soqt from source
  • as in Ubuntu 20.04 using a ppa to install the older qt4 (rather than/in addition to qt5)
  • running auto from the command line gave an error about not finding the command python, so I created a symlink to python->python2.7 in /usr/bin/

Ubuntu 20.04 run tim error

A couple of times when I've run auto I keep getting the error

** On entry to DGEBAL parameter number 3 had an illegal value Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_OVERFLOW_FLAG IEEE_UNDERFLOW_FLAG

I know this isn't an issue with the function that I'm trying to use because I've tried the same continuations with different parameter values and they don't run into this issue. The problem is, I never know when this issue is going to arise.

Problem installation on windows 10

To whom it may concern,

I have some problems with the installation of auto on windows. I have followed all the instructions but in the end, when I try to rum auto commands such as @f or @sv in my MSYS shell I receive: command not found

I have followed the instruction for the windows installation:

  • Installed msys
  • installed the required packages with the command: pacman -S: gcc-fortran, mingw-w64-x86 64-
    python3-matplotlib, and make.
  • in the main folder I type ./configure and then make without receiving any error
  • I enter the folder cmds and I set the environment variables running source auto.env.sh without receiving any warning or error.

At this point, I was expecting to use the auto command in my msys command prompt but if I type @f or @sv I receive a message stating: command not found

Build with debug options fails with `solution.c++:2029:5: error: ‘cout’ was not declared in this scope`.

Ahoj,

when I build auto with debugging and with plaut04 and plaut04-qt, build fails for me with solution.c++:2029:5: error: ‘cout’ was not declared in this scope:

[...]
g++ -std=c++11 -I../../plaut04/includes   -I/usr/include/qt/QtCore -I/usr/include/qt -I/usr/include/qt/QtGui -DQT_OPENGL_LIB -I/usr/include/qt/QtOpenGL -DQT_WIDGETS_LIB -I/usr/include/qt/QtWidgets -DQT_GUI_LIB -DQT_CORE_LIB  -fPIC -Og -ggdb3 -g3 -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG -Wno-error=unused-result -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG -ffile-prefix-map=/tmp/makepkg/build/auto-07p-git/src=/usr/src/debug/auto-07p-git  -DUSE_SOQT -c solution.c++ -o solution.o
solution.c++: In member function ‘void Solution::normalizeData()’:
solution.c++:2029:5: error: ‘cout’ was not declared in this scope
 2029 |     cout <<" Max sol 0 :" <<max_[0]<<" Min "<<min_[0]<<endl;
      |     ^~~~
solution.c++:2029:56: error: ‘endl’ was not declared in this scope; did you mean ‘std::endl’?
 2029 |     cout <<" Max sol 0 :" <<max_[0]<<" Min "<<min_[0]<<endl;
      |                                                        ^~~~
      |                                                        std::endl
In file included from /usr/include/c++/13.2.1/istream:41,
                 from /usr/include/c++/13.2.1/sstream:40,
                 from solution.c++:3:
/usr/include/c++/13.2.1/ostream:735:5: note: ‘std::endl’ declared here
  735 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~
make[2]: *** [Makefile:20: solution.o] Error 1

Build is carried out via:

./configure \
  --enable-plaut \
  --enable-plaut04 --enable-plaut04-qt \
  --with-openmp \
  --with-mpi \
  --enable-gui \
  --with-x \
  --with-optimization-flags="-Og -g3 -ggdb3" \
  --prefix="/opt/auto/07p" \
  FC="gfortan" \
  MPIFC="mpifort" \
  FFLAGS="-ggdb3" \
  CFLAGS="-Og -ggdb3 -g3 -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG" \
  CXXFLAGS="-Og -ggdb3 -g3 -Og -fno-lto -gdwarf-5 -ggdb3 -gno-strict-dwarf -g3 -gpubnames -grecord-gcc-switches -fno-eliminate-unused-debug-symbols -fvar-tracking -fvar-tracking-assignments -fdebug-types-section -fno-stack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=0 -DDEBUG"

make
cd doc
make all

The ./configure terminal output: configure.terminal.log, and the config.log generated by ./configure: config.log.

The terminal output of make: make.log

With a non-debugging build, the build succeeds.

./configure call for the non-debugging build:

./configure \
  --enable-plaut \
  --enable-plaut04 --enable-plaut04-qt \
  --with-openmp \
  --with-mpi \
  --enable-gui \
  --with-x \
  --with-optimization-flags="-O3" \
  --prefix="/opt/auto/07p" \
  FC="gfortan" \
  MPIFC="mpifort" \
  FFLAGS="-Ofast" \
  CFLAGS="-march=native -mtune=native -Ofast -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -fstack-clash-protection -fcf-protection" \
  CXXFLAGS="-march=native -mtune=native -Ofast -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS"

Terminal output of this ./configure run: configure-nodebug.terminal.log, config.log generated by this ./configure run: config-nodebug.log, make terminal output after this ./configure run: make-nodebug.log.

gcc and gfortran version are 13.2.1.
I am on Artix GNU/Linux, a rolling release system.

I am not profound in C, C++, Fortran, and linking.

Regards!

Black screen in PyPLAUT

New installation of AUTO on a Mac running 12.3.1. Running the cusp demo, and PyPLAUT gives an almost totally black screen:

Screen Shot 2022-05-13 at 9 41 25 PM

I followed the tutorial's instructions for compiling PyPLAUT. I had to do force homebrew to link certain libraries, but in the end it compiled with a lot of warnings.

Fixing build failure with Inventor and SoXt

Dear Sir,

Attached are two patches that fix build failure of auto-07p (plaut04) when compiled with Inventor and SoXt. The fix-failure-to-set-soxtlib.txt patch fixes failure to set SOXTLIB even when all required libraries are detected and configure options are set to use them. As a result gmainqt.c++ is always compiled even when SoQt is not used leading to failure. The inventer-vec3f-header-change.txt patch updates headers for current stable Inventor version (2.1.5).

There were build failures with Coin3D and SoQt also but the changes required were quite extensive, resulting from incompatibilities with Qt5 and current Coin3D versions. The platform on which these builds were done is the current stable Debian GNU/Linux release.

I presume pyplaut is the future and plauto04 is deprecated. In any case this was not too much effort, if it helps.

regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.