Skip to content

Commit 7741424

Browse files
author
Travis Scrimshaw
committed
Merge branch 'develop' into public/algebras/fp_algebras
* develop: (101 commits) Updated Sage version to 6.1.beta2 fix latex fix documentation minor typography Trac 13101: mark doctest as "long time" trac 13101 better doctest Trac 13101: Fix bug in enumerate_totallyreal_fields_all sagemath#9706: review patch. trac 9706: Propose new class structure Symbolic Chebyshev polynomials: reviewer patch trac 9706: Collective patch. Bugfixes, extensions, optimizations, documentation, doctests for chebyshev_T, chebyshev_U and base class for ortho polys Fixing Whitespace errors Use bash as SHELL for build/Makefile allow numpy arrays in list_plot, line, points Trac sagemath#12322: Add a doctest for the correct behavior introduced in trac sagemath#12737. Trac sagemath#14186 coerce_binop errors with keyword arguments trac sagemath#15553: Broken links in the doc of graph/ and numerical/ Improve handling of make targets sage, csage, extcode, scripts Reorded all.py to match original (so fewer changes). Fixed minor typo in cobminat/crystals/letters.pyx. ...
2 parents 21b71a6 + 036984d commit 7741424

File tree

133 files changed

+10723
-3415
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+10723
-3415
lines changed

VERSION.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Sage version 6.1.beta1, released 2013-12-21
1+
Sage version 6.1.beta2, released 2013-12-23

build/deps

+20-16
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,10 @@ all-sage: \
109109
$(INST)/$(NCURSES) \
110110
$(INST)/$(ZLIB) \
111111
$(INST)/$(ZNPOLY) \
112-
scripts \
113-
sage \
114-
csage \
115-
extcode
112+
$(INST)/sage \
113+
$(INST)/csage \
114+
$(EXTCODE) \
115+
$(SCRIPTS)
116116

117117
# TOOLCHAIN consists of dependencies determined by build/install,
118118
# including for example the GCC package.
@@ -133,7 +133,7 @@ toolchain-deps:
133133

134134
# Everything needed to start up Sage using "./sage". Of course, not
135135
# every part of Sage will work. It does not include Maxima for example.
136-
SAGERUNTIME = scripts sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON) $(INST)/$(GAP)
136+
SAGERUNTIME = $(SCRIPTS) $(INST)/sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON)
137137

138138
###############################################################################
139139
# Building the base system
@@ -308,7 +308,7 @@ $(INST)/$(SQLITE): $(INST)/$(READLINE)
308308
+$(PIPE) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
309309

310310
# To build SageTeX, you just need Python, but to test (SAGE_CHECK=yes)
311-
# SageTeX, you actually need to run sage, produce plots,...
311+
# SageTeX, you actually need to run Sage, produce plots,...
312312
$(INST)/$(SAGETEX): $(INST)/$(PYTHON) \
313313
$(SAGERUNTIME) $(INST)/$(MAXIMA) $(INST)/$(SCIPY) \
314314
$(INST)/$(MATPLOTLIB) $(INST)/$(PIL) $(INST)/$(TACHYON)
@@ -418,7 +418,7 @@ $(INST)/$(PYGMENTS): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
418418
# on the one hand, programs needed for the build/install process of the
419419
# Sage library (e.g. JINJA2), and on the
420420
# other hand all dependencies for Cython files (e.g. PARI, NTL, MPIR).
421-
sage: \
421+
$(INST)/sage: \
422422
$(INST)/$(ATLAS) \
423423
$(INST)/$(CEPHES) \
424424
$(INST)/$(CLIQUER) \
@@ -456,21 +456,25 @@ sage: \
456456
$(INST)/$(SINGULAR) \
457457
$(INST)/$(SYMMETRICA) \
458458
$(INST)/$(ZNPOLY) \
459-
csage
460-
$(PIPE) '{ if [ -z "$(SAGE_INSTALL_FETCH_ONLY)" ]; then cd $(SAGE_SRC) && . ./bin/sage-env && time python setup.py install; fi; } 2>&1' 'tee -a $(SAGE_LOGS)/sage-$(SAGE_VERSION).log'
461-
462-
scripts: $(SCRIPT_TARGETS)
463-
464-
extcode: $(EXTCODE_TARGETS)
465-
466-
csage: $(INST)/$(SCONS) \
459+
$(INST)/csage
460+
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
461+
cd $(SAGE_SRC) && source bin/sage-env && \
462+
$(PIPE) 'time python setup.py install 2>&1' 'tee -a $(SAGE_LOGS)/sage-$(SAGE_VERSION).log' && \
463+
touch $@; \
464+
fi
465+
466+
$(INST)/csage: $(INST)/$(SCONS) \
467467
$(INST)/$(MPIR) \
468468
$(INST)/$(NTL) \
469469
$(INST)/$(PARI) \
470470
$(INST)/$(POLYBORI) \
471471
$(INST)/$(PYNAC) \
472472
$(INST)/$(PYTHON)
473-
$(PIPE) '{ if [ -z "$(SAGE_INSTALL_FETCH_ONLY)" ]; then cd $(SAGE_SRC)/c_lib && . ../bin/sage-env && time scons -Q install; fi; } 2>&1' 'tee -a $(SAGE_LOGS)/csage-$(SAGE_VERSION).log'
473+
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
474+
cd $(SAGE_SRC) && source bin/sage-env && cd c_lib && \
475+
$(PIPE) 'time scons -Q install 2>&1' 'tee -a $(SAGE_LOGS)/csage-$(SAGE_VERSION).log' && \
476+
touch $@; \
477+
fi
474478

475479
$(INST)/ccache: $(BASE) $(INST)/$(ZLIB)
476480
+$(PIPE) "$(SAGE_SPKG) ccache 2>&1" "tee -a $(SAGE_LOGS)/ccache.log"

build/install

+7-2
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,11 @@ cat >&3 <<EOF
331331
332332
EOF
333333

334+
# Use bash as shell for the Makefile (bash obviously exists, since
335+
# this build/install script runs under bash).
336+
echo >&3 "SHELL = `command -v bash`"
337+
echo >&3
338+
334339
# If the user (or the Makefile) has set SAGE_PARALLEL_SPKG_BUILD=no,
335340
# then turn off parallel building: disable just building multiple
336341
# packages at the same time. Individual packages can still be built
@@ -490,7 +495,7 @@ for file in "$SAGE_SRC/bin/"*; do
490495
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
491496
done
492497
echo >&3
493-
echo >&3 'SCRIPT_TARGETS = \'
498+
echo >&3 'SCRIPTS = \'
494499
for file in "$SAGE_SRC/bin/"*; do
495500
echo >&3 " \$(SAGE_LOCAL)${file#$SAGE_SRC} \\"
496501
done
@@ -500,7 +505,7 @@ for file in `find "$SAGE_SRC"/ext -type f`; do
500505
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
501506
done
502507
echo >&3
503-
echo >&3 'EXTCODE_TARGETS = \'
508+
echo >&3 'EXTCODE = \'
504509
for file in `find "$SAGE_SRC"/ext -type f`; do
505510
echo >&3 " \$(SAGE_EXTCODE)${file#$SAGE_SRC/ext} \\"
506511
done

src/bin/sage-banner

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
┌────────────────────────────────────────────────────────────────────┐
2-
│ Sage Version 6.1.beta1, Release Date: 2013-12-21
2+
│ Sage Version 6.1.beta2, Release Date: 2013-12-23
33
│ Type "notebook()" for the browser-based notebook interface. │
44
│ Type "help()" for help. │
55
└────────────────────────────────────────────────────────────────────┘

src/bin/sage-version.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sage version information for shell scripts
22
# This file is auto-generated by the sage-update-version script, do not edit!
3-
SAGE_VERSION='6.1.beta1'
4-
SAGE_RELEASE_DATE='2013-12-21'
3+
SAGE_VERSION='6.1.beta2'
4+
SAGE_RELEASE_DATE='2013-12-23'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Rigged Configuration Bijections
2+
===============================
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
../sage/combinat/rigged_configurations/bijection
8+
../sage/combinat/rigged_configurations/bij_abstract_class
9+
../sage/combinat/rigged_configurations/bij_type_A
10+
../sage/combinat/rigged_configurations/bij_type_B
11+
../sage/combinat/rigged_configurations/bij_type_C
12+
../sage/combinat/rigged_configurations/bij_type_D
13+
../sage/combinat/rigged_configurations/bij_type_A2_odd
14+
../sage/combinat/rigged_configurations/bij_type_A2_even
15+
../sage/combinat/rigged_configurations/bij_type_A2_dual
16+
../sage/combinat/rigged_configurations/bij_type_D_twisted
17+

src/doc/en/reference/combinat/rigged_configurations.rst

+2-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Rigged Configurations
22
=====================
33

44
.. toctree::
5-
:maxdepth: 2
5+
:maxdepth: 1
66

77
../sage/combinat/rigged_configurations/rigged_configurations
88
../sage/combinat/rigged_configurations/rigged_configuration_element
@@ -15,8 +15,5 @@ Rigged Configurations
1515

1616
../sage/combinat/rigged_configurations/rigged_partition
1717

18-
../sage/combinat/rigged_configurations/bijection
19-
../sage/combinat/rigged_configurations/bij_abstract_class
20-
../sage/combinat/rigged_configurations/bij_type_A
21-
../sage/combinat/rigged_configurations/bij_type_D
18+
rc_bijections
2219

src/doc/en/thematic_tutorials/linear_programming.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ change !) filename is joined.
494494

495495
* A compiled version of the library
496496
* CPLEX : ``libcplex.a``
497-
* GUROBI : ``libgurobi45.so``
497+
* GUROBI : ``libgurobi55.so`` (or more recent)
498498

499499
* The library file
500500
* CPLEX : ``cplex.h``

src/doc/fr/tutorial/afterword.rst

+12
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,18 @@ Aussi, Sage se comporte différemment de Python à plusieurs égards.
100100
sage: "3^2"
101101
'3^2'
102102

103+
Le ou exclusif bit à bit est quant à lui noté ``^^``, et l'opération en
104+
place ``^^=`` fonctionne comme on s'y attend :
105+
106+
::
107+
108+
sage: 3^^2
109+
1
110+
sage: a = 2
111+
sage: a ^^= 8
112+
sage: a
113+
10
114+
103115
- **Division entière :** L'expression Python ``2/3`` ne se comporte pas
104116
de la manière à laquelle s'attendraient des mathématiciens. En Python, si
105117
``m`` et ``n`` sont de type int, alors ``m/n`` est aussi de type int, c'est

src/doc/fr/tutorial/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ __ http://creativecommons.org/licenses/by-sa/3.0/
3838
tour
3939
interactive_shell
4040
interfaces
41+
latex
4142
programming
4243
sagetex
4344
afterword

src/doc/fr/tutorial/interactive_shell.rst

+79-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ Une session est la suite des entrées et sorties qui interviennent entre
5151
le moment où vous démarrez Sage et celui où vous le quittez. Sage
5252
enregistre un journal de toutes les entrées via IPython. Si vous
5353
utilisez le shell interactif (par opposition à l'interface *notebook*),
54-
vous pouvez taper ``%hist`` à n'importe quel moment pour obtenir la
54+
vous pouvez taper ``%history`` (ou ``%hist``) à n'importe
55+
quel moment pour obtenir la
5556
liste de toutes les lignes de commandes entrées depuis le début de la
5657
session. Tapez ``?`` à l'invite de commande Sage pour plus
5758
d'informations sur IPython. Par exemple : « IPython fournit des invites
@@ -376,6 +377,83 @@ la machine ``sage.math.washington.edu``). Mais en raison du surcoût de
376377
l'interface pexpect, la comparaison avec Sage, qui est le plus rapide,
377378
n'est pas vraiment équitable.
378379

380+
Trucs et astuces IPython
381+
========================
382+
383+
Comme signalé plus haut, Sage utilise l'interpréteur de commandes IPython, et
384+
met donc à votre disposition toutes les commandes et fonctionnalités de
385+
celui-ci. Vous voudrez peut-être consulter la `documentation complète de IPython
386+
<http://ipython.scipy.org/moin/Documentation>`_. Voici en attendant quelques
387+
astuces utiles -- qui reposent sur ce que IPython appelle des « commandes
388+
magiques » :
389+
390+
- La commande magique ``%bg`` lance une commande en arrière-plan. Le résultat
391+
sera ensuite accessible à travers l'objet ``jobs``, comme dans l'exemple
392+
ci-dessous. (Les commentaires « not tested » sont là parce que ``%bg`` ne
393+
fonctionne pas correctement dans l'infrastructure de test automatisé de Sage,
394+
mais si vous reproduisez l'exemple, il devrait fonctionner comme indiqué.
395+
Naturellement, ``%bg`` est surtout utile pour les commandes dont l'exécution
396+
prend beaucoup de temps.)
397+
398+
::
399+
400+
sage: def quick(m): return 2*m
401+
sage: %bg quick(20) # not tested
402+
Starting job # 0 in a separate thread.
403+
sage: jobs.status() # not tested
404+
Completed jobs:
405+
0 : quick(20)
406+
sage: jobs[0].result # the actual answer, not tested
407+
40
408+
409+
Attention, les tâches lancées en arrière-plan ignorent le préprocesseur Sage
410+
(voir section :ref:`section-mathannoy`). Une manière (certes pas très
411+
commode) de contourner le problème est la suivante ::
412+
413+
sage: %bg eval(preparse('quick(20)')) # not tested
414+
415+
Mais il est plus simple et plus sûr de réserver ``%bg`` aux commandes en pur
416+
Python, qui ne font pas appel au préprocesseur.
417+
418+
- Lorsque l'on souhaite saisir un morceau de code complexe, on peut utiliser
419+
``%edit`` (ou ``%ed``, ou ``ed``) pour ouvrir un éditeur de texte.
420+
Assurez-vous que la variable d'environnement :envvar:`EDITOR` est réglée à
421+
votre éditeur favori au démarrage de Sage (en plaçant si nécessaire quelque
422+
chose du genre ``export EDITOR=/usr/bin/emacs`` ou encore ``export
423+
EDITOR=/usr/bin/vim`` dans un fichier de configuration convenable, par
424+
exemple ``.profile``). La commande ``%edit`` à l'invite de Sage ouvrira
425+
l'éditeur sélectionné. Vous pouvez alors par exemple saisir une définition de
426+
fonction::
427+
428+
def some_function(n):
429+
return n**2 + 3*n + 2
430+
431+
puis enregistrer le fichier et quitter l'éditeur. La fonction
432+
``some_function`` est désormais disponible dans votre session Sage, et vous
433+
pouvez la modifier en saisissant ``edit some_function`` à l'invite de
434+
commande.
435+
436+
- Si vous souhaitez reprendre une version modifiée du résultat d'un calcul dans
437+
une nouvelle commande, tapez ``%rep`` après avoir fait le calcul. Cela
438+
récupère le texte du résultat et le place sur la ligne de commande, prêt à
439+
être modifié. ::
440+
441+
sage: f(x) = cos(x)
442+
sage: f(x).derivative(x)
443+
-sin(x)
444+
445+
Ainsi, après les commandes ci-dessus, la commande ``%rep`` fournit un nouvel
446+
invite de commande pré-rempli avec le texte ``-sin(x)`` et le curseur en fin
447+
de ligne.
448+
449+
Pour plus d'information, entrez la commande ``%quickref`` pour un résumé des
450+
possibilités de IPython. Au moment où cette documentation est écrite
451+
(avril 2011), Sage emploie IPython 0.9.1. La `documentation des commandes
452+
magiques
453+
<http://ipython.org/ipython-doc/dev/interactive/tutorial.html#magic-functions>`_
454+
est disponible en ligne, et divers aspects un peu plus avancés de leur
455+
fonctionnement sont décrits `ici <http://ipython.org/ipython-doc/stable/interactive/reference.html#magic-command-system>`_.
456+
379457
Erreurs et exceptions
380458
=====================
381459

src/doc/fr/tutorial/interfaces.rst

+16-23
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. linkall
2+
13
**********
24
Interfaces
35
**********
@@ -105,8 +107,6 @@ Commençons par créer une liste PARI à partir d'une liste Python.
105107
En Sage, les objets PARI sont de type ``py_pari.gen``. Le type PARI de
106108
l'objet sous-jacent est donné par la méthode ``type``.
107109

108-
.. link
109-
110110
::
111111

112112
sage: v.type()
@@ -117,8 +117,6 @@ Pour créer une courbe elliptique en PARI, on utiliserait
117117
``ellinit`` devient une méthode qui peut être appelée sur n'importe quel
118118
objet PARI, par exemle notre ``t_VEC v``.
119119

120-
.. link
121-
122120
::
123121

124122
sage: e = v.ellinit()
@@ -130,8 +128,6 @@ objet PARI, par exemle notre ``t_VEC v``.
130128
À présent que nous disposons d'une courbe elliptique, faisons quelques
131129
calculs avec.
132130

133-
.. link
134-
135131
::
136132

137133
sage: e.elltors()
@@ -163,7 +159,7 @@ installer séparément comme décrit plus bas.
163159
Group( [ (1,2,3)(4,5), (3,4) ] )
164160
sage: G.Center()
165161
Group( () )
166-
sage: G.IdGroup() # nécessite le paquet facultatif database_gap (optional)
162+
sage: G.IdGroup() # optional - database_gap
167163
[ 120, 34 ]
168164
sage: G.Order()
169165
120
@@ -176,7 +172,7 @@ l'interface GAP comme suit :
176172
sage: G = PermutationGroup([[(1,2,3),(4,5)],[(3,4)]])
177173
sage: G.center()
178174
Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [()]
179-
sage: G.group_id() # nécessite le paquet facultatif database_gap (optional)
175+
sage: G.group_id() # optional - database_gap
180176
[120, 34]
181177
sage: n = G.order(); n
182178
120
@@ -217,8 +213,6 @@ fournie par Sage (n'entrez pas les ``...``) :
217213
Maintenant que nous avons défini :math:`f`, affichons-le puis
218214
factorisons-le.
219215

220-
.. link
221-
222216
::
223217

224218
sage: f
@@ -253,19 +247,18 @@ Singular (Sage y fera tout de même appel en coulisses pour le calcul).
253247
Maxima
254248
======
255249

256-
Le système de calcul formel Maxima est fourni avec Sage accompagné de
257-
clisp, une version du langage Lisp, et d'openmath, un programme de tracé
258-
de courbes en Tcl/Tk utilisé par Maxima. En revanche, gnuplot (que
259-
Maxima utilise par défaut pour tracer des graphiques) n'est distribué
260-
que comme paquet optionnel de Sage. Maxima fournit notamment des
261-
routines de calcul sur des expressions formelles. Il permet de calculer
262-
des dérivées, primitives et intégrales, de résoudre des équations
263-
différentielles d'ordre 1 et souvent d'ordre 2, et de résoudre par
264-
transformée de Laplace les équations différentielles linéaires d'ordre
265-
quelconque. Maxima dispose aussi d'un grand nombre de fonctions
266-
spéciales, permet de tracer des graphes de fonctions via gnuplot, et de
267-
manipuler des matrices (réduction en lignes, valeurs propres, vecteurs
268-
propres...) ou encore des équations polynomiales.
250+
Le système de calcul formel Maxima est fourni avec Sage accompagné d'une
251+
implémentation du langage Lisp. Le logiciel gnuplot (que Maxima utilise
252+
par défaut pour tracer des graphiques) est disponible comme paquet
253+
optionnel. Maxima fournit notamment des routines de calcul sur des
254+
expressions formelles. Il permet de calculer des dérivées, primitives et
255+
intégrales, de résoudre des équations différentielles d'ordre 1 et
256+
souvent d'ordre 2, et de résoudre par transformée de Laplace les
257+
équations différentielles linéaires d'ordre quelconque. Maxima dispose
258+
aussi d'un grand nombre de fonctions spéciales, permet de tracer des
259+
graphes de fonctions via gnuplot, et de manipuler des matrices
260+
(réduction en lignes, valeurs propres, vecteurs propres...) ou encore
261+
des équations polynomiales.
269262

270263
Utilisons par exemple l'interface Sage/Maxima pour construire
271264
la matrice dont le coefficient d'indice :math:`i,j` vaut :math:`i/j`,

0 commit comments

Comments
 (0)