Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(20) |
Dec
(17) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(39) |
Feb
(21) |
Mar
(33) |
Apr
(135) |
May
(53) |
Jun
(88) |
Jul
(47) |
Aug
(59) |
Sep
(207) |
Oct
(40) |
Nov
(7) |
Dec
(26) |
2003 |
Jan
(49) |
Feb
(39) |
Mar
(117) |
Apr
(50) |
May
(62) |
Jun
(6) |
Jul
(19) |
Aug
(24) |
Sep
(11) |
Oct
(11) |
Nov
(49) |
Dec
(9) |
2004 |
Jan
(29) |
Feb
(123) |
Mar
(32) |
Apr
(53) |
May
(52) |
Jun
(19) |
Jul
(33) |
Aug
(10) |
Sep
(76) |
Oct
(86) |
Nov
(171) |
Dec
(163) |
2005 |
Jan
(147) |
Feb
(121) |
Mar
(120) |
Apr
(126) |
May
(120) |
Jun
(213) |
Jul
(76) |
Aug
(79) |
Sep
(140) |
Oct
(83) |
Nov
(156) |
Dec
(202) |
2006 |
Jan
(181) |
Feb
(171) |
Mar
(157) |
Apr
(98) |
May
(96) |
Jun
(97) |
Jul
(193) |
Aug
(76) |
Sep
(130) |
Oct
(63) |
Nov
(196) |
Dec
(253) |
2007 |
Jan
(256) |
Feb
(293) |
Mar
(276) |
Apr
(258) |
May
(181) |
Jun
(91) |
Jul
(108) |
Aug
(69) |
Sep
(107) |
Oct
(179) |
Nov
(137) |
Dec
(121) |
2008 |
Jan
(124) |
Feb
(129) |
Mar
(192) |
Apr
(201) |
May
(90) |
Jun
(86) |
Jul
(115) |
Aug
(142) |
Sep
(49) |
Oct
(91) |
Nov
(95) |
Dec
(218) |
2009 |
Jan
(230) |
Feb
(149) |
Mar
(118) |
Apr
(72) |
May
(77) |
Jun
(68) |
Jul
(102) |
Aug
(72) |
Sep
(89) |
Oct
(76) |
Nov
(125) |
Dec
(86) |
2010 |
Jan
(75) |
Feb
(90) |
Mar
(89) |
Apr
(121) |
May
(111) |
Jun
(66) |
Jul
(75) |
Aug
(66) |
Sep
(66) |
Oct
(166) |
Nov
(121) |
Dec
(73) |
2011 |
Jan
(74) |
Feb
|
Mar
|
Apr
(14) |
May
(22) |
Jun
(31) |
Jul
(53) |
Aug
(37) |
Sep
(23) |
Oct
(25) |
Nov
(31) |
Dec
(28) |
2012 |
Jan
(18) |
Feb
(11) |
Mar
(32) |
Apr
(17) |
May
(48) |
Jun
(37) |
Jul
(23) |
Aug
(54) |
Sep
(15) |
Oct
(11) |
Nov
(19) |
Dec
(22) |
2013 |
Jan
(11) |
Feb
(32) |
Mar
(24) |
Apr
(37) |
May
(31) |
Jun
(14) |
Jul
(26) |
Aug
(33) |
Sep
(40) |
Oct
(21) |
Nov
(36) |
Dec
(84) |
2014 |
Jan
(23) |
Feb
(20) |
Mar
(27) |
Apr
(24) |
May
(31) |
Jun
(27) |
Jul
(34) |
Aug
(26) |
Sep
(21) |
Oct
(45) |
Nov
(23) |
Dec
(73) |
2015 |
Jan
(33) |
Feb
(8) |
Mar
(24) |
Apr
(45) |
May
(27) |
Jun
(19) |
Jul
(21) |
Aug
(51) |
Sep
(43) |
Oct
(29) |
Nov
(61) |
Dec
(86) |
2016 |
Jan
(99) |
Feb
(52) |
Mar
(80) |
Apr
(61) |
May
(24) |
Jun
(23) |
Jul
(36) |
Aug
(30) |
Sep
(41) |
Oct
(43) |
Nov
(27) |
Dec
(46) |
2017 |
Jan
(57) |
Feb
(34) |
Mar
(40) |
Apr
(31) |
May
(78) |
Jun
(49) |
Jul
(72) |
Aug
(33) |
Sep
(26) |
Oct
(82) |
Nov
(69) |
Dec
(29) |
2018 |
Jan
(43) |
Feb
(9) |
Mar
|
Apr
(18) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
(5) |
2
|
3
(5) |
4
|
5
(6) |
6
(6) |
7
(2) |
8
(9) |
9
(9) |
10
(4) |
11
(2) |
12
|
13
|
14
(12) |
15
(7) |
16
(3) |
17
(7) |
18
(2) |
19
(12) |
20
(3) |
21
(9) |
22
|
23
|
24
(7) |
25
|
26
(2) |
27
(3) |
28
(8) |
29
(12) |
30
(4) |
31
(3) |
|
|
|
|
|
|
From: Andrej Vodopivec <andrejv@us...> - 2008-08-06 06:33:08
|
Update of /cvsroot/maxima/maxima/share/contrib/graphs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18101 Modified Files: Tag: RELEASE-5_16-BRANCH isomorphism.lisp Log Message: Fixed isomorphism computation for digraphs. Index: isomorphism.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/share/contrib/graphs/isomorphism.lisp,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -d -r1.3 -r1.3.2.1 --- isomorphism.lisp 5 May 2008 21:49:13 -0000 1.3 +++ isomorphism.lisp 6 Aug 2008 06:33:02 -0000 1.3.2.1 @@ -37,7 +37,7 @@ ((digraph-p gr1) (if (digraph-p gr2) (let (res - (iso (isomorphism-graphs gr1 gr2))) + (iso (isomorphism-digraphs gr1 gr2))) (when iso (maphash (lambda (key val) |
From: Robert Dodier <robert_dodier@us...> - 2008-08-05 15:11:44
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6157/src Modified Files: Tag: RELEASE-5_16-BRANCH plot.lisp Log Message: Merge bug fix for [ 2037659 ] gnuplot terminal type default. Index: plot.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/plot.lisp,v retrieving revision 1.129 retrieving revision 1.129.2.1 diff -u -d -r1.129 -r1.129.2.1 --- plot.lisp 3 Aug 2008 17:44:24 -0000 1.129 +++ plot.lisp 5 Aug 2008 15:11:39 -0000 1.129.2.1 @@ -169,7 +169,7 @@ (defun $gnuplot_reset () (send-gnuplot-command "unset output") - (send-gnuplot-command (format nil "set term ~a" (translate-gnuplot-term-option))) + (send-gnuplot-command (translate-gnuplot-term-option)) (send-gnuplot-command "reset")) ;; If embedded in output, the gnuplot_term option makes Gnuplot unhappy, @@ -181,7 +181,7 @@ ($default (get-plot-option-string '$gnuplot_default_term_command)) ($ps (get-plot-option-string '$gnuplot_ps_term_command)) ($dumb (get-plot-option-string '$gnuplot_dumb_term_command)) - (t (get-plot-option-string '$gnuplot_term)))) + (t (format nil "set term ~a" (get-plot-option-string '$gnuplot_term))))) (defun $gnuplot_replot (&optional s) (if (null *gnuplot-stream*) |
From: Robert Dodier <robert_dodier@us...> - 2008-08-05 15:08:36
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv3031/src Modified Files: plot.lisp Log Message: Be more careful about "set term" string (2nd attempt). Resolves SF bug report [ 2037659 ] gnuplot terminal type 'default'. Index: plot.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/plot.lisp,v retrieving revision 1.129 retrieving revision 1.130 diff -u -d -r1.129 -r1.130 --- plot.lisp 3 Aug 2008 17:44:24 -0000 1.129 +++ plot.lisp 5 Aug 2008 15:08:31 -0000 1.130 @@ -169,7 +169,7 @@ (defun $gnuplot_reset () (send-gnuplot-command "unset output") - (send-gnuplot-command (format nil "set term ~a" (translate-gnuplot-term-option))) + (send-gnuplot-command (translate-gnuplot-term-option)) (send-gnuplot-command "reset")) ;; If embedded in output, the gnuplot_term option makes Gnuplot unhappy, @@ -181,7 +181,7 @@ ($default (get-plot-option-string '$gnuplot_default_term_command)) ($ps (get-plot-option-string '$gnuplot_ps_term_command)) ($dumb (get-plot-option-string '$gnuplot_dumb_term_command)) - (t (get-plot-option-string '$gnuplot_term)))) + (t (format nil "set term ~a" (get-plot-option-string '$gnuplot_term))))) (defun $gnuplot_replot (&optional s) (if (null *gnuplot-stream*) |
From: Mario Rodriguez Riotorto <riotorto@us...> - 2008-08-05 09:18:36
|
Update of /cvsroot/maxima/maxima/doc/info/es In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27463 Modified Files: Number.es.texi graphs.texi simplifications.texi Log Message: Updating translations Index: Number.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Number.es.texi,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Number.es.texi 17 Feb 2008 18:22:47 -0000 1.13 +++ Number.es.texi 5 Aug 2008 09:18:14 -0000 1.14 @@ -1,4 +1,4 @@ -@... english version 1.27 +@c english version 1.28 @menu * Funciones y variables para teor@'{@dotless{i}}a de n@'umeros:: @end menu @@ -445,11 +445,11 @@ Cuando el resultado de @code{primep (@var{n})} es @code{false}, @var{n} es un n@'umero compuesto, y si es @code{true}, @var{n} es primo con alta probabilidad. -Si @var{n} es menor que 341550071728321, se utiliza una versi@'on +Si @var{n} es menor que 10^16, se utiliza una versi@'on determin@'{@dotless{i}}stica de la prueba de Miller-Rabin. En tal caso, si @code{primep (@var{n})} devuelve @code{true}, entonces @var{n} es un n@'umero primo. -Para @var{n} mayor que 34155071728321 @code{primep} realiza un n@'umero de pruebas +Para @var{n} mayor que 10^16 @code{primep} realiza un n@'umero de pruebas de seudo-primalidad de Miller-Rabin igual a @code{primep_number_of_tests} y una prueba de seudo-primalidad de Lucas. La probabilidad de que @var{n} pase una prueba de Miller-Rabin es menor que 1/4. Con el valor por defecto de Index: graphs.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/graphs.texi,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- graphs.texi 31 Mar 2008 21:02:46 -0000 1.5 +++ graphs.texi 5 Aug 2008 09:18:14 -0000 1.6 @@ -1,4 +1,4 @@ -@... english version 1.9 +@c english version 1.12 @menu * Introducci@'on a graphs:: * Funciones y variables para graphs:: @@ -693,10 +693,14 @@ @example (%i1) load (graphs)$ (%i2) degree_sequence(random_graph(10, 0.4)); -(%o2) [2, 2, 3, 3, 3, 4, 4, 4, 4, 5] +(%o2) [2, 2, 2, 2, 2, 2, 3, 3, 3, 3] @end example @end deffn +@deffn {Funci@'on} edge_connectivity (@var{gr}) +Devuelve la conectividad de las aristas del grafo conexto @var{gr}. +@end deffn + @deffn {Funci@'on} edges (@var{gr}) Devuelve la lista de las aristas (arcos) del grafo (dirigido) @var{gr}. @@ -832,7 +836,7 @@ (%i1) load (graphs)$ (%i2) g : grid_graph(5,5)$ (%i3) graph_periphery(g); -(%o3) [0, 4, 20, 24] +(%o3) [24, 20, 4, 0] @end example @end deffn @@ -941,23 +945,22 @@ @end ifhtml @deffn {Funci@'on} isomorphism (@var{gr1}, @var{gr2}) -Devuelve una tabla (@i{hash table}) representando un isomorfismo -entre los grafos/digrafos @var{gr1} y @var{gr2}. Si no son isomorfos, -devuelve @code{false}. +Devuelve un isomorfismo entre los grafos/digrafos @var{gr1} y @var{gr2}. +Si @var{gr1} y @var{gr2} no son isomorfos, devuelve una lista vac@'{@dotless{i}}a. Ejemplo: @c ===beg=== @c load (graphs)$ @c clk5:complement_graph(line_graph(complete_graph(5)))$ -@... hash_table_data(isomorphism(clk5, petersen_graph())); +@c isomorphism(clk5, petersen_graph()); @c ===end=== @example (%i1) load (graphs)$ (%i2) clk5:complement_graph(line_graph(complete_graph(5)))$ -(%i3) hash_table_data(isomorphism(clk5, petersen_graph())); -(%o3) [8 -> 9, 7 -> 8, 4 -> 7, 3 -> 6, 1 -> 5, 0 -> 4, 5 -> 3, - 6 -> 2, 2 -> 1, 9 -> 0] +(%i3) isomorphism(clk5, petersen_graph()); +(%o3) [9 -> 0, 2 -> 1, 6 -> 2, 5 -> 3, 0 -> 4, 1 -> 5, 3 -> 6, + 4 -> 7, 7 -> 8, 8 -> 9] @end example @end deffn @@ -1272,7 +1275,7 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.5)$ (%i3) max_clique(g); -(%o3) [20, 28, 42, 44, 47, 65, 69, 75, 87, 98] +(%o3) [6, 12, 31, 36, 52, 59, 62, 63, 80] @end example @end deffn @@ -1292,7 +1295,7 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.02)$ (%i3) max_degree(g); -(%o3) [6, 70] +(%o3) [6, 79] (%i4) vertex_degree(95, g); (%o4) 3 @end example @@ -1391,8 +1394,8 @@ (%i1) load (graphs)$ (%i2) d : dodecahedron_graph()$ (%i3) m : max_matching(d); -(%o3) [[1, 2], [3, 4], [0, 15], [11, 16], [12, 17], [13, 18], - [14, 19], [6, 10], [8, 9], [5, 7]] +(%o3) [[5, 7], [8, 9], [6, 10], [14, 19], [13, 18], [12, 17], + [11, 16], [0, 15], [3, 4], [1, 2]] (%i4) draw_graph(d, show_edges=m)$ @end example @end deffn @@ -1417,13 +1420,18 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.1)$ (%i3) min_degree(g); -(%o3) [4, 83] +(%o3) [3, 49] (%i4) vertex_degree(21, g); -(%o4) 12 +(%o4) 9 @end example @end deffn -@... {Funci@'on} min_vertex_cover (@var{gr}) +@deffn {Funci@'on} min_edge_cut (@var{gr}) +Devuelve el m@'{@dotless{i}}nimo @i{edge cut} del grafo conexo @var{gr}. Un @i{edge cut} es +un conjunto de aristas cuya eliminaci@'on aumenta el n@'umero de componentes del grafo. +@end deffn + +@deffn {Funci@'on} min_vertex_ cover(@var{gr}) Devuelve el m@'{@dotless{i}}nimo nodo @i{covering} del grafo @var{gr}. @c Esta traduccion esta tomada de la wikipedia. Habra que revisarla. @end deffn @@ -1660,6 +1668,34 @@ @image{../figures/graphs08,6cm} @end ifhtml + +@deffn {Funci@'on} shortest_weighted_path (@var{u}, @var{v}, @var{gr}) +Devuelve la longitud del camino m@'as corto ponderado y el propio camino +m@'as corto ponderado desde @var{u} hasta @var{v} en el grafo @var{gr}. + +La longitud del camino ponderado es la suma de los pesos de las aristas +del camino. Si una arista no tiene peso asignado, su valor por defecto +es la unidad. + +Ejemplo: + +@c ===beg=== +@c load (graphs)$ +@c g: petersen_graph(20, 2)$ +@c for e in edges(g) do set_edge_weight(e, random(1.0), g)$ +@c shortest_weighted_path(0, 10, g); +@c ===end=== +@example +(%i1) load (graphs)$ +(%i2) g: petersen_graph(20, 2)$ +(%i3) for e in edges(g) do set_edge_weight(e, random(1.0), g)$ +(%i4) shortest_weighted_path(0, 10, g); +(%o4) [2.575143920268482, [0, 20, 38, 36, 34, 32, 30, 10]] +@end example + +@end deffn + + @deffn {Funci@'on} strong_components (@var{gr}) Devuelve las componentes fuertes del grafo orientado @var{gr}. @@ -1675,9 +1711,9 @@ (%i1) load (graphs)$ (%i2) t : random_tournament(4)$ (%i3) strong_components(t); -(%o3) [[2], [0], [1], [3]] +(%o3) [[1], [0], [2], [3]] (%i4) vertex_out_degree(3, t); -(%o4) 2 +(%o4) 3 @end example @end deffn @@ -1804,9 +1840,9 @@ (%i1) load (graphs)$ (%i2) t : random_tournament(10)$ (%i3) vertex_out_degree(0, t); -(%o3) 6 +(%o3) 2 (%i4) out_neighbors(0, t); -(%o4) [9, 6, 4, 3, 2, 1] +(%o4) [7, 1] @end example @end deffn @@ -2334,8 +2370,47 @@ @image{../figures/graphs12,6cm} @end ifhtml +Ejemplo 5: + +@c ===beg=== +@c load(graphs)$ +@c g: petersen_graph(20, 2); +@c draw_graph(g, redraw=true, program=planar_embedding); +@c ===end=== +@example +(%i1) load(graphs)$ +(%i2) g: petersen_graph(20, 2); +(%o2) GRAPH +(%i3) draw_graph(g, redraw=true, program=planar_embedding); +(%o3) done +@end example + +@ifhtml +@image{../figures/graphs14,6cm} +@end ifhtml + +Ejemplo 6: + +@c ===beg=== +@c load(graphs)$ +@c t: tutte_graph(); +@c draw_graph(t, redraw=true, fixed_vertices=[1,2,3,4,5,6,7,8,9]); +@c ===end=== +@example +(%i1) load(graphs)$ +(%i2) t: tutte_graph(); +(%o2) GRAPH +(%i3) draw_graph(t, redraw=true, fixed_vertices=[1,2,3,4,5,6,7,8,9]); +(%o3) done +@end example + +@ifhtml +@image{../figures/graphs15,6cm} +@end ifhtml + @end deffn + @defvr {Variable opcional} draw_graph_program Valor por defecto: @var{spring_embedding}. Index: simplifications.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/simplifications.texi,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- simplifications.texi 6 Jul 2008 09:00:11 -0000 1.6 +++ simplifications.texi 5 Aug 2008 09:18:17 -0000 1.7 @@ -1,4 +1,4 @@ -@... english version 1.8 +@c english version 1.9 @menu * Introducci@'on a simplification:: * Funciones y variables para simplification:: @@ -211,17 +211,24 @@ @end deffn @deffn {Funci@'on} wronskian ([@var{f_1}, ..., @var{f_n}], @var{x}) -Devuelve la matriz wronskiana de las funciones @var{f_1}, ..., @var{f_n} +Devuelve la matriz wronskiana de las expresiones @var{f_1}, ..., @var{f_n} dependeientes de la variable @var{x}. +El determinante de la matriz wronskiana es el determinante wronskiano de +la lista de expresiones. -Los argumentos @var{f_1}, ..., @var{f_n} pueden ser nombres de funciones -definidas por el usuario, o expresiones de variable @var{x}. +Para hacer uso de esta funci@'on ejecutar @code{load(functs)}. -El determinante de la matriz wronskiana es el determinante wronskiano del -conjunto de funciones. Las funciones ser@'an linealmente dependientes si -este determinante es nulo. +Ejemplo: -Para hacer uso de esta funci@'on ejecutar @code{load(functs)}. +@c ===beg=== +@c load (functs)$ +@c wronskian([f(x), g(x)],x); +@c ===end=== +@example +(%i1) load(functs)$ +(%i2) wronskian([f(x), g(x)],x); +(%o2) matrix([f(x),g(x)],['diff(f(x),x,1),'diff(g(x),x,1)]) +@end example @end deffn @c adjoint already described in doc/info/Matrices.texi |
From: Mario Rodriguez Riotorto <riotorto@us...> - 2008-08-05 09:16:50
|
Update of /cvsroot/maxima/maxima/doc/info/es In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv24694 Modified Files: Tag: RELEASE-5_16-BRANCH Number.es.texi graphs.texi simplifications.texi Log Message: Updating translations Index: Number.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Number.es.texi,v retrieving revision 1.13 retrieving revision 1.13.6.1 diff -u -d -r1.13 -r1.13.6.1 --- Number.es.texi 17 Feb 2008 18:22:47 -0000 1.13 +++ Number.es.texi 5 Aug 2008 09:16:35 -0000 1.13.6.1 @@ -1,4 +1,4 @@ -@... english version 1.27 +@c english version 1.28 @menu * Funciones y variables para teor@'{@dotless{i}}a de n@'umeros:: @end menu @@ -445,11 +445,11 @@ Cuando el resultado de @code{primep (@var{n})} es @code{false}, @var{n} es un n@'umero compuesto, y si es @code{true}, @var{n} es primo con alta probabilidad. -Si @var{n} es menor que 341550071728321, se utiliza una versi@'on +Si @var{n} es menor que 10^16, se utiliza una versi@'on determin@'{@dotless{i}}stica de la prueba de Miller-Rabin. En tal caso, si @code{primep (@var{n})} devuelve @code{true}, entonces @var{n} es un n@'umero primo. -Para @var{n} mayor que 34155071728321 @code{primep} realiza un n@'umero de pruebas +Para @var{n} mayor que 10^16 @code{primep} realiza un n@'umero de pruebas de seudo-primalidad de Miller-Rabin igual a @code{primep_number_of_tests} y una prueba de seudo-primalidad de Lucas. La probabilidad de que @var{n} pase una prueba de Miller-Rabin es menor que 1/4. Con el valor por defecto de Index: graphs.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/graphs.texi,v retrieving revision 1.5 retrieving revision 1.5.6.1 diff -u -d -r1.5 -r1.5.6.1 --- graphs.texi 31 Mar 2008 21:02:46 -0000 1.5 +++ graphs.texi 5 Aug 2008 09:16:35 -0000 1.5.6.1 @@ -1,4 +1,4 @@ -@... english version 1.9 +@c english version 1.12 @menu * Introducci@'on a graphs:: * Funciones y variables para graphs:: @@ -693,10 +693,14 @@ @example (%i1) load (graphs)$ (%i2) degree_sequence(random_graph(10, 0.4)); -(%o2) [2, 2, 3, 3, 3, 4, 4, 4, 4, 5] +(%o2) [2, 2, 2, 2, 2, 2, 3, 3, 3, 3] @end example @end deffn +@deffn {Funci@'on} edge_connectivity (@var{gr}) +Devuelve la conectividad de las aristas del grafo conexto @var{gr}. +@end deffn + @deffn {Funci@'on} edges (@var{gr}) Devuelve la lista de las aristas (arcos) del grafo (dirigido) @var{gr}. @@ -832,7 +836,7 @@ (%i1) load (graphs)$ (%i2) g : grid_graph(5,5)$ (%i3) graph_periphery(g); -(%o3) [0, 4, 20, 24] +(%o3) [24, 20, 4, 0] @end example @end deffn @@ -941,23 +945,22 @@ @end ifhtml @deffn {Funci@'on} isomorphism (@var{gr1}, @var{gr2}) -Devuelve una tabla (@i{hash table}) representando un isomorfismo -entre los grafos/digrafos @var{gr1} y @var{gr2}. Si no son isomorfos, -devuelve @code{false}. +Devuelve un isomorfismo entre los grafos/digrafos @var{gr1} y @var{gr2}. +Si @var{gr1} y @var{gr2} no son isomorfos, devuelve una lista vac@'{@dotless{i}}a. Ejemplo: @c ===beg=== @c load (graphs)$ @c clk5:complement_graph(line_graph(complete_graph(5)))$ -@... hash_table_data(isomorphism(clk5, petersen_graph())); +@c isomorphism(clk5, petersen_graph()); @c ===end=== @example (%i1) load (graphs)$ (%i2) clk5:complement_graph(line_graph(complete_graph(5)))$ -(%i3) hash_table_data(isomorphism(clk5, petersen_graph())); -(%o3) [8 -> 9, 7 -> 8, 4 -> 7, 3 -> 6, 1 -> 5, 0 -> 4, 5 -> 3, - 6 -> 2, 2 -> 1, 9 -> 0] +(%i3) isomorphism(clk5, petersen_graph()); +(%o3) [9 -> 0, 2 -> 1, 6 -> 2, 5 -> 3, 0 -> 4, 1 -> 5, 3 -> 6, + 4 -> 7, 7 -> 8, 8 -> 9] @end example @end deffn @@ -1272,7 +1275,7 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.5)$ (%i3) max_clique(g); -(%o3) [20, 28, 42, 44, 47, 65, 69, 75, 87, 98] +(%o3) [6, 12, 31, 36, 52, 59, 62, 63, 80] @end example @end deffn @@ -1292,7 +1295,7 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.02)$ (%i3) max_degree(g); -(%o3) [6, 70] +(%o3) [6, 79] (%i4) vertex_degree(95, g); (%o4) 3 @end example @@ -1391,8 +1394,8 @@ (%i1) load (graphs)$ (%i2) d : dodecahedron_graph()$ (%i3) m : max_matching(d); -(%o3) [[1, 2], [3, 4], [0, 15], [11, 16], [12, 17], [13, 18], - [14, 19], [6, 10], [8, 9], [5, 7]] +(%o3) [[5, 7], [8, 9], [6, 10], [14, 19], [13, 18], [12, 17], + [11, 16], [0, 15], [3, 4], [1, 2]] (%i4) draw_graph(d, show_edges=m)$ @end example @end deffn @@ -1417,13 +1420,18 @@ (%i1) load (graphs)$ (%i2) g : random_graph(100, 0.1)$ (%i3) min_degree(g); -(%o3) [4, 83] +(%o3) [3, 49] (%i4) vertex_degree(21, g); -(%o4) 12 +(%o4) 9 @end example @end deffn -@... {Funci@'on} min_vertex_cover (@var{gr}) +@deffn {Funci@'on} min_edge_cut (@var{gr}) +Devuelve el m@'{@dotless{i}}nimo @i{edge cut} del grafo conexo @var{gr}. Un @i{edge cut} es +un conjunto de aristas cuya eliminaci@'on aumenta el n@'umero de componentes del grafo. +@end deffn + +@deffn {Funci@'on} min_vertex_ cover(@var{gr}) Devuelve el m@'{@dotless{i}}nimo nodo @i{covering} del grafo @var{gr}. @c Esta traduccion esta tomada de la wikipedia. Habra que revisarla. @end deffn @@ -1660,6 +1668,34 @@ @image{../figures/graphs08,6cm} @end ifhtml + +@deffn {Funci@'on} shortest_weighted_path (@var{u}, @var{v}, @var{gr}) +Devuelve la longitud del camino m@'as corto ponderado y el propio camino +m@'as corto ponderado desde @var{u} hasta @var{v} en el grafo @var{gr}. + +La longitud del camino ponderado es la suma de los pesos de las aristas +del camino. Si una arista no tiene peso asignado, su valor por defecto +es la unidad. + +Ejemplo: + +@c ===beg=== +@c load (graphs)$ +@c g: petersen_graph(20, 2)$ +@c for e in edges(g) do set_edge_weight(e, random(1.0), g)$ +@c shortest_weighted_path(0, 10, g); +@c ===end=== +@example +(%i1) load (graphs)$ +(%i2) g: petersen_graph(20, 2)$ +(%i3) for e in edges(g) do set_edge_weight(e, random(1.0), g)$ +(%i4) shortest_weighted_path(0, 10, g); +(%o4) [2.575143920268482, [0, 20, 38, 36, 34, 32, 30, 10]] +@end example + +@end deffn + + @deffn {Funci@'on} strong_components (@var{gr}) Devuelve las componentes fuertes del grafo orientado @var{gr}. @@ -1675,9 +1711,9 @@ (%i1) load (graphs)$ (%i2) t : random_tournament(4)$ (%i3) strong_components(t); -(%o3) [[2], [0], [1], [3]] +(%o3) [[1], [0], [2], [3]] (%i4) vertex_out_degree(3, t); -(%o4) 2 +(%o4) 3 @end example @end deffn @@ -1804,9 +1840,9 @@ (%i1) load (graphs)$ (%i2) t : random_tournament(10)$ (%i3) vertex_out_degree(0, t); -(%o3) 6 +(%o3) 2 (%i4) out_neighbors(0, t); -(%o4) [9, 6, 4, 3, 2, 1] +(%o4) [7, 1] @end example @end deffn @@ -2334,8 +2370,47 @@ @image{../figures/graphs12,6cm} @end ifhtml +Ejemplo 5: + +@c ===beg=== +@c load(graphs)$ +@c g: petersen_graph(20, 2); +@c draw_graph(g, redraw=true, program=planar_embedding); +@c ===end=== +@example +(%i1) load(graphs)$ +(%i2) g: petersen_graph(20, 2); +(%o2) GRAPH +(%i3) draw_graph(g, redraw=true, program=planar_embedding); +(%o3) done +@end example + +@ifhtml +@image{../figures/graphs14,6cm} +@end ifhtml + +Ejemplo 6: + +@c ===beg=== +@c load(graphs)$ +@c t: tutte_graph(); +@c draw_graph(t, redraw=true, fixed_vertices=[1,2,3,4,5,6,7,8,9]); +@c ===end=== +@example +(%i1) load(graphs)$ +(%i2) t: tutte_graph(); +(%o2) GRAPH +(%i3) draw_graph(t, redraw=true, fixed_vertices=[1,2,3,4,5,6,7,8,9]); +(%o3) done +@end example + +@ifhtml +@image{../figures/graphs15,6cm} +@end ifhtml + @end deffn + @defvr {Variable opcional} draw_graph_program Valor por defecto: @var{spring_embedding}. Index: simplifications.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/simplifications.texi,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -d -r1.6 -r1.6.2.1 --- simplifications.texi 6 Jul 2008 09:00:11 -0000 1.6 +++ simplifications.texi 5 Aug 2008 09:16:40 -0000 1.6.2.1 @@ -1,4 +1,4 @@ -@... english version 1.8 +@c english version 1.9 @menu * Introducci@'on a simplification:: * Funciones y variables para simplification:: @@ -211,17 +211,24 @@ @end deffn @deffn {Funci@'on} wronskian ([@var{f_1}, ..., @var{f_n}], @var{x}) -Devuelve la matriz wronskiana de las funciones @var{f_1}, ..., @var{f_n} +Devuelve la matriz wronskiana de las expresiones @var{f_1}, ..., @var{f_n} dependeientes de la variable @var{x}. +El determinante de la matriz wronskiana es el determinante wronskiano de +la lista de expresiones. -Los argumentos @var{f_1}, ..., @var{f_n} pueden ser nombres de funciones -definidas por el usuario, o expresiones de variable @var{x}. +Para hacer uso de esta funci@'on ejecutar @code{load(functs)}. -El determinante de la matriz wronskiana es el determinante wronskiano del -conjunto de funciones. Las funciones ser@'an linealmente dependientes si -este determinante es nulo. +Ejemplo: -Para hacer uso de esta funci@'on ejecutar @code{load(functs)}. +@c ===beg=== +@c load (functs)$ +@c wronskian([f(x), g(x)],x); +@c ===end=== +@example +(%i1) load(functs)$ +(%i2) wronskian([f(x), g(x)],x); +(%o2) matrix([f(x),g(x)],['diff(f(x),x,1),'diff(g(x),x,1)]) +@end example @end deffn @c adjoint already described in doc/info/Matrices.texi |
From: Mario Rodriguez Riotorto <riotorto@us...> - 2008-08-05 08:19:18
|
Update of /cvsroot/maxima/maxima/doc/info In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv1588 Modified Files: graphs.texi Log Message: Small typo Index: graphs.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/graphs.texi,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- graphs.texi 12 Jul 2008 08:19:12 -0000 1.12 +++ graphs.texi 5 Aug 2008 08:19:12 -0000 1.13 @@ -1599,7 +1599,7 @@ weighted path from @var{u} to @var{v} in the graph @var{gr}. The length of a weighted path is the sum of edge weights of edges in the -path. If and edge has no weight, then it has a default weight 1. +path. If an edge has no weight, then it has a default weight 1. Example: |
From: Mario Rodriguez Riotorto <riotorto@us...> - 2008-08-05 08:17:08
|
Update of /cvsroot/maxima/maxima/doc/info In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv30458 Modified Files: Tag: RELEASE-5_16-BRANCH graphs.texi Log Message: Small typo Index: graphs.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/graphs.texi,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -u -d -r1.12 -r1.12.2.1 --- graphs.texi 12 Jul 2008 08:19:12 -0000 1.12 +++ graphs.texi 5 Aug 2008 08:17:00 -0000 1.12.2.1 @@ -1599,7 +1599,7 @@ weighted path from @var{u} to @var{v} in the graph @var{gr}. The length of a weighted path is the sum of edge weights of edges in the -path. If and edge has no weight, then it has a default weight 1. +path. If an edge has no weight, then it has a default weight 1. Example: |
From: Robert Dodier <robert_dodier@us...> - 2008-08-03 20:59:50
|
Update of /cvsroot/maxima/maxima In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14721 Modified Files: configure.in Log Message: Assign "cvs" version number to trunk. Index: configure.in =================================================================== RCS file: /cvsroot/maxima/maxima/configure.in,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- configure.in 3 Aug 2008 20:36:51 -0000 1.103 +++ configure.in 3 Aug 2008 20:59:46 -0000 1.104 @@ -2,7 +2,7 @@ AC_INIT(src/macsys.lisp) -AM_INIT_AUTOMAKE(maxima,5.16.0) +AM_INIT_AUTOMAKE(maxima,5.16.0cvs) AC_CANONICAL_HOST case "$host" in *mingw*) |
From: Robert Dodier <robert_dodier@us...> - 2008-08-03 20:36:55
|
Update of /cvsroot/maxima/maxima In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv4773 Modified Files: configure.in Log Message: Roll revision number forward. Index: configure.in =================================================================== RCS file: /cvsroot/maxima/maxima/configure.in,v retrieving revision 1.102 retrieving revision 1.103 diff -u -d -r1.102 -r1.103 --- configure.in 27 Jul 2008 07:04:03 -0000 1.102 +++ configure.in 3 Aug 2008 20:36:51 -0000 1.103 @@ -2,7 +2,7 @@ AC_INIT(src/macsys.lisp) -AM_INIT_AUTOMAKE(maxima,5.15.0cvs) +AM_INIT_AUTOMAKE(maxima,5.16.0) AC_CANONICAL_HOST case "$host" in *mingw*) |
From: Robert Dodier <robert_dodier@us...> - 2008-08-03 18:03:31
|
Update of /cvsroot/maxima/maxima/doc/info In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv1008/doc/info Modified Files: Makefile.am maxima.texi Added Files: ezunits.texi Log Message: Documentation for ezunits (physical units package). --- NEW FILE: ezunits.texi --- @menu * Introduction to ezunits:: * Introduction to physical_constants:: * Functions and Variables for ezunits:: @end menu @node Introduction to ezunits, Introduction to physical_constants, ezunits, ezunits @section Introduction to ezunits @code{ezunits} is a package for working with dimensional quantities, including some functions for dimensional analysis. @code{ezunits} can carry out arithmetic operations on dimensional quantities and unit conversions. The built-in units include Systeme Internationale (SI) and US customary units, and other units can be declared. See also @code{physical_constants}, a collection of physical constants. @code{load(ezunits)} loads this package. @code{demo(ezunits)} displays several examples. An expression @code{a ` b} represents a dimensional quantity, [...1027 lines suppressed...] @end deffn @deffn {Function} dimensionless (@var{x}) @opencatbox @category{Package ezunits} @closecatbox @end deffn @deffn {Function} natural_unit (@var{x}) @opencatbox @category{Package ezunits} @closecatbox @end deffn Index: Makefile.am =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Makefile.am,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- Makefile.am 13 May 2008 09:58:05 -0000 1.60 +++ Makefile.am 3 Aug 2008 18:03:24 -0000 1.61 @@ -39,7 +39,7 @@ solve_rec.texi stringproc.texi numericalio.texi descriptive.texi \ distrib.texi draw.texi simplex.texi simplifications.texi unit.texi makeOrders.texi \ mnewton.texi lsquares.texi plotdf.texi lindstedt.texi impdiff.texi \ - ggf.texi f90.texi diag.texi dynamics.texi\ + ggf.texi ezunits.texi f90.texi diag.texi dynamics.texi\ bode.texi augmented_lagrangian.texi opsubst.texi stats.texi stirling.texi\ implicit_plot.texi interpol.texi lbfgs.texi romberg.texi grobner.texi\ contrib_ode.texi graphs.texi category-macros.texi lapack.texi Index: maxima.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/maxima.texi,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- maxima.texi 5 Apr 2008 21:14:44 -0000 1.58 +++ maxima.texi 3 Aug 2008 18:03:25 -0000 1.59 @@ -147,6 +147,7 @@ * distrib:: Probability distributions. * draw:: A Maxima-Gnuplot interface. * dynamics:: Graphics for dynamical systems and fractals. +* ezunits:: Dimensional quantities. * f90:: Maxima to fortran translator. * ggf:: Generating function of sequences. * graphs:: Graph theory package. @@ -438,6 +439,12 @@ * Introduction to dynamics:: * Functions and Variables for dynamics:: +ezunits + +* Introduction to ezunits:: +* Introduction to physical_constants:: +* Functions and Variables for ezunits:: + f90 * Functions and Variables for f90:: @@ -777,11 +784,15 @@ @chapter draw @include draw.texi -@... dynamics, f90, draw, Top +@node dynamics, ezunits, draw, Top @chapter dynamics @include dynamics.texi -@... f90, ggf, dynamics, Top +@node ezunits, f90, dynamics, Top +@chapter ezunits +@include ezunits.texi + +@node f90, ggf, ezunits, Top @chapter f90 @include f90.texi |
From: Robert Dodier <robert_dodier@us...> - 2008-08-03 17:46:38
|
Update of /cvsroot/maxima/maxima/share/contrib/ezunits In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25231/share/contrib/ezunits Modified Files: ezunits.mac Log Message: Exclude terms like units(...) from constant factors. Index: ezunits.mac =================================================================== RCS file: /cvsroot/maxima/maxima/share/contrib/ezunits/ezunits.mac,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ezunits.mac 30 Jul 2008 05:08:13 -0000 1.18 +++ ezunits.mac 3 Aug 2008 17:46:35 -0000 1.19 @@ -165,7 +165,14 @@ else (x%*apply ("*", map (qty, args (u%)))) ` simplify_units (apply ("*", map (units, args (u%)))); -constant_factors (e%) := block ([L%, eqns%], L%: listofvars(e%), eqns%: map ("=", L%, L%*0+1), subst (eqns%, e%)); +matchdeclare (a%, all); +defrule (runits1, 'units (a%), 1); + +constant_factors (e%) := block ([L%, eqns%], + e% : apply1 (e%, runits1), + L%: listofvars(e%), + eqns%: map ("=", L%, L%*0+1), + subst (eqns%, e%)); everything_else(e%) := e%/constant_factors(e%); |
From: Robert Dodier <robert_dodier@us...> - 2008-08-03 17:44:28
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv24316/src Modified Files: plot.lisp Log Message: Translate gnuplot_term before emitting it to Gnuplot. This is supposed to avoid the "unknown or ambiguous terminal type" message. Index: plot.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/plot.lisp,v retrieving revision 1.128 retrieving revision 1.129 diff -u -d -r1.128 -r1.129 --- plot.lisp 27 Jul 2008 07:04:12 -0000 1.128 +++ plot.lisp 3 Aug 2008 17:44:24 -0000 1.129 @@ -169,10 +169,20 @@ (defun $gnuplot_reset () (send-gnuplot-command "unset output") - (send-gnuplot-command (format nil "set term ~a" - (get-plot-option-string '$gnuplot_term))) + (send-gnuplot-command (format nil "set term ~a" (translate-gnuplot-term-option))) (send-gnuplot-command "reset")) +;; If embedded in output, the gnuplot_term option makes Gnuplot unhappy, +;; so translate gnuplot_term into something Gnuplot actually wants to see. +;; Logic copied from GNUPLOT-PRINT-HEADER. + +(defun translate-gnuplot-term-option () + (case ($get_plot_option '$gnuplot_term 2) + ($default (get-plot-option-string '$gnuplot_default_term_command)) + ($ps (get-plot-option-string '$gnuplot_ps_term_command)) + ($dumb (get-plot-option-string '$gnuplot_dumb_term_command)) + (t (get-plot-option-string '$gnuplot_term)))) + (defun $gnuplot_replot (&optional s) (if (null *gnuplot-stream*) (merror "Gnuplot is not running.")) |
From: Dieter Kaiser <crategus@us...> - 2008-08-01 16:59:33
|
Update of /cvsroot/maxima/maxima/tests In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv4187 Added Files: rtest_expintegral.mac Log Message: Tests the Exponential Integals in expintegral.lisp. Dieter Kaiser --- NEW FILE: rtest_expintegral.mac --- /******************************************************************************* Test file for the Exponential Integrals by Dieter Kaiser (2008) *******************************************************************************/ kill(all); done; /* Define a test function for single values */ closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse); closeto(e,tol):=block([numer:true,abse],abse:abs(e),if(abse<tol) then true else abse); (test_value(actual, ref, digits) := closeto(realpart(actual)-realpart(ref), 10^(-digits)) and closeto(imagpart(actual)-imagpart(ref), 10^(-digits)), done); done; /******************************************************************************* [...3003 lines suppressed...] 17,19,0.973751,0.026388, 18,19,0.973775,0.025038, 19,19,0.973863,0.023760, 20,19,0.974004,0.022552, 16,20,0.975215,0.027685, 17,20,0.975099,0.026343, 18,20,0.975057,0.025062, 19,20,0.975079,0.023842, 20,20,0.975155,0.022684 ]),done); done; test_complex_table(lambda([z],z*%e^z*expintegral_e1(z)),'ec_1,838,7.50e-7); []; kill(all); done; /*****************************************************************************/ |
From: Dieter Kaiser <crategus@us...> - 2008-08-01 16:51:02
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv28554 Modified Files: Makefile.am acl-depends.mk clisp-depends.mk cmucl-depends.mk ecl-depends.mk gcl-depends.mk maxima.asd maxima.system openmcl-depends.mk sbcl-depends.mk scl-depends.mk Log Message: Including expintegral.lisp in the following files: maxima.system makefile.am maxima.asd acl-depends.mk clisp-depends.mk cmucl-depends.mk ecl-depends.mk gcl-depends.mk openmcl-depends.mk sbcl-depends.mk scl-depends.mk The additional file is added to the module "miscellaneous" below the file conjugate in maxima.system and maxima.asd. In the file makefile.am the files are sorted alphabetically. In the other files expintegral.lisp is added below conjugate.lisp. Dieter Kaiser Index: Makefile.am =================================================================== RCS file: /cvsroot/maxima/maxima/src/Makefile.am,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- Makefile.am 27 Jul 2008 07:04:04 -0000 1.69 +++ Makefile.am 1 Aug 2008 16:50:50 -0000 1.70 @@ -333,6 +333,7 @@ elim.lisp \ ellipt.lisp \ evalw.lisp \ +expintegral.lisp \ ezgcd.lisp \ factor.lisp \ fcall.lisp \ Index: acl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/acl-depends.mk,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- acl-depends.mk 17 Feb 2008 03:55:27 -0000 1.6 +++ acl-depends.mk 1 Aug 2008 16:50:51 -0000 1.7 @@ -271,6 +271,7 @@ binary-acl/maxima.dxl : maxmin.lisp binary-acl/maxima.dxl : nummod.lisp binary-acl/maxima.dxl : conjugate.lisp +binary-acl/maxima.dxl : expintegral.lisp binary-acl/maxima.dxl : mstuff.lisp binary-acl/maxima.dxl : ratpoi.lisp binary-acl/maxima.dxl : pois2.lisp Index: clisp-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/clisp-depends.mk,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- clisp-depends.mk 17 Feb 2008 03:55:27 -0000 1.27 +++ clisp-depends.mk 1 Aug 2008 16:50:51 -0000 1.28 @@ -271,6 +271,7 @@ binary-clisp/maxima.mem : maxmin.lisp binary-clisp/maxima.mem : nummod.lisp binary-clisp/maxima.mem : conjugate.lisp +binary-clisp/maxima.mem : expintegral.lisp binary-clisp/maxima.mem : mstuff.lisp binary-clisp/maxima.mem : ratpoi.lisp binary-clisp/maxima.mem : pois2.lisp Index: cmucl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/cmucl-depends.mk,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- cmucl-depends.mk 17 Feb 2008 03:55:27 -0000 1.28 +++ cmucl-depends.mk 1 Aug 2008 16:50:51 -0000 1.29 @@ -271,6 +271,7 @@ binary-cmucl/maxima.core : maxmin.lisp binary-cmucl/maxima.core : nummod.lisp binary-cmucl/maxima.core : conjugate.lisp +binary-cmucl/maxima.core : expintegral.lisp binary-cmucl/maxima.core : mstuff.lisp binary-cmucl/maxima.core : ratpoi.lisp binary-cmucl/maxima.core : pois2.lisp Index: ecl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/ecl-depends.mk,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ecl-depends.mk 27 Jul 2008 07:04:07 -0000 1.2 +++ ecl-depends.mk 1 Aug 2008 16:50:51 -0000 1.3 @@ -181,6 +181,7 @@ binary-ecl/maxima.image : maxmin.lisp binary-ecl/maxima.image : nummod.lisp binary-ecl/maxima.image : conjugate.lisp +binary-ecl/maxima.image : expintegral.lisp binary-ecl/maxima.image : askp.lisp binary-ecl/maxima.image : sinint.lisp binary-ecl/maxima.image : sin.lisp Index: gcl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/gcl-depends.mk,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- gcl-depends.mk 17 Feb 2008 03:55:27 -0000 1.30 +++ gcl-depends.mk 1 Aug 2008 16:50:52 -0000 1.31 @@ -277,6 +277,7 @@ binary-gcl/maxima : maxmin.lisp binary-gcl/maxima : nummod.lisp binary-gcl/maxima : conjugate.lisp +binary-gcl/maxima : expintegral.lisp binary-gcl/maxima : mstuff.lisp binary-gcl/maxima : ratpoi.lisp binary-gcl/maxima : pois2.lisp Index: maxima.asd =================================================================== RCS file: /cvsroot/maxima/maxima/src/maxima.asd,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- maxima.asd 27 Jul 2008 07:04:10 -0000 1.3 +++ maxima.asd 1 Aug 2008 16:50:52 -0000 1.4 @@ -507,6 +507,7 @@ (:file "maxmin") (:file "nummod") (:file "conjugate") + (:file "expintegral") (:file "mstuff"))) (:module poisson-series :pathname "" :components ((:file "ratpoi") Index: maxima.system =================================================================== RCS file: /cvsroot/maxima/maxima/src/maxima.system,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- maxima.system 27 Jul 2008 07:04:10 -0000 1.62 +++ maxima.system 1 Aug 2008 16:50:52 -0000 1.63 @@ -558,6 +558,7 @@ (:file "maxmin") (:file "nummod") (:file "conjugate") + (:file "expintegral") (:file "mstuff"))) (:module poisson-series :source-pathname "" :components ((:file "ratpoi") Index: openmcl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/openmcl-depends.mk,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- openmcl-depends.mk 17 Feb 2008 03:55:27 -0000 1.16 +++ openmcl-depends.mk 1 Aug 2008 16:50:52 -0000 1.17 @@ -181,6 +181,7 @@ binary-openmcl/maxima.image : maxmin.lisp binary-openmcl/maxima.image : nummod.lisp binary-openmcl/maxima.image : conjugate.lisp +binary-openmcl/maxima.image : expintegral.lisp binary-openmcl/maxima.image : askp.lisp binary-openmcl/maxima.image : sinint.lisp binary-openmcl/maxima.image : sin.lisp Index: sbcl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/sbcl-depends.mk,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- sbcl-depends.mk 17 Feb 2008 03:55:27 -0000 1.19 +++ sbcl-depends.mk 1 Aug 2008 16:50:53 -0000 1.20 @@ -271,6 +271,7 @@ binary-sbcl/maxima.core : maxmin.lisp binary-sbcl/maxima.core : nummod.lisp binary-sbcl/maxima.core : conjugate.lisp +binary-sbcl/maxima.core : expintegral.lisp binary-sbcl/maxima.core : mstuff.lisp binary-sbcl/maxima.core : ratpoi.lisp binary-sbcl/maxima.core : pois2.lisp Index: scl-depends.mk =================================================================== RCS file: /cvsroot/maxima/maxima/src/scl-depends.mk,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- scl-depends.mk 17 Feb 2008 03:55:27 -0000 1.10 +++ scl-depends.mk 1 Aug 2008 16:50:53 -0000 1.11 @@ -271,6 +271,7 @@ binary-scl/maxima.core : maxmin.lisp binary-scl/maxima.core : nummod.lisp binary-scl/maxima.core : conjugate.lisp +binary-scl/maxima.core : expintegral.lisp binary-scl/maxima.core : mstuff.lisp binary-scl/maxima.core : ratpoi.lisp binary-scl/maxima.core : pois2.lisp |
From: Dieter Kaiser <crategus@us...> - 2008-08-01 16:38:34
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17850 Added Files: expintegral.lisp Log Message: Add support for Exponential Integrals. Changes to include the file expintegral.lisp to the following files: maxima.system makefile.am maxima.asd acl-depends.mk clisp-depends.mk cmucl-depends.mk ecl-depends.mk gcl-depends.mk openmcl-depends.mk sbcl-depends.mk scl-depends.mk The additional file is added to the module "miscellaneous" below the file conjugate in maxima.system and maxima.asd. In the file makefile.am the files are sorted alphabetically. In the other files expintegral.lisp is added below conjugate.lisp. Dieter Kaiser --- NEW FILE: expintegral.lisp --- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Exponential Integrals ;;; ;;; This file contains the following Maxima User functions: ;;; ;;; $expintegral_e (n,z) - Exponential Integral En(z) ;;; $expintegral_e1 (z) - Exponential Integral E1(z) ;;; $expintegral_ei (z) - Exponential Integral Ei(z) ;;; ;;; $expintegral_li (z) - Logarithmic Integral Li(z) ;;; ;;; $expintegral_si (z) - Exponential Integral Si(z) ;;; $expintegral_ci (z) - Exponential Integral Ci(z) ;;; ;;; $expintegral_shi (z) - Exponential Integral Shi(z) ;;; $expintegral_chi (z) - Exponential Integral Chi(z) ;;; ;;; Global variables for the Maxima User: [...1669 lines suppressed...] (defun expintegral-chi (z) (* -0.5 (+ (expintegral-e 1 z) (expintegral-e 1 (- z)) (log (- z)) (- (log z))))) (defun bfloat-expintegral-chi (z) (let ((mz (mul -1 z))) (mul -0.5 (add (bfloat-expintegral-e 1 z) (bfloat-expintegral-e 1 mz) ($log mz) (mul -1 ($log z)))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
From: Dieter Kaiser <crategus@us...> - 2008-08-01 16:14:02
|
Update of /cvsroot/maxima/maxima/bin In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5817/bin Log Message: Directory /cvsroot/maxima/maxima/bin added to the repository |
From: Andrej Vodopivec <andrejv@us...> - 2008-08-01 15:44:13
|
Update of /cvsroot/maxima/maxima/share/contrib/graphs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv13502 Modified Files: dijkstra.lisp Log Message: Rewrote parts of the algorithm. Index: dijkstra.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/share/contrib/graphs/dijkstra.lisp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- dijkstra.lisp 17 Apr 2008 07:37:28 -0000 1.1 +++ dijkstra.lisp 1 Aug 2008 15:44:10 -0000 1.2 @@ -26,51 +26,51 @@ (in-package :maxima) (defstruct graphs-pqueue - (data (make-array 128 :adjustable t)) - (last -1) ;; last index used - (max 127) ;; length of data array + (data (make-array 129 :adjustable t)) + (last 0) ;; last index used + (max 128) ;; max possible index + (index (make-hash-table)) (weights (make-hash-table))) (defun graphs-pqueue-insert (v w queue) - (if (= (graphs-pqueue-last queue) -1) + (if (= (graphs-pqueue-last queue) 0) (progn ;; insert into an empty queue - (setf (graphs-pqueue-last queue) 0) - (setf (aref (graphs-pqueue-data queue) - (graphs-pqueue-last queue)) - v) + (setf (graphs-pqueue-last queue) 1) + (setf (aref (graphs-pqueue-data queue) 1) v) + (setf (gethash v (graphs-pqueue-index queue)) 1) (setf (gethash v (graphs-pqueue-weights queue)) w)) (progn ;; resize the queue if needed (when (= (graphs-pqueue-max queue) (graphs-pqueue-last queue)) - (setf (graphs-pqueue-data queue) - (adjust-array (graphs-pqueue-data queue) - (* (1+ (graphs-pqueue-max queue)) 2))) + (adjust-array (graphs-pqueue-data queue) + (1+ (* (graphs-pqueue-max queue) 2))) (setf (graphs-pqueue-max queue) - (1+ (* (graphs-pqueue-max queue) 2)))) + (* (graphs-pqueue-max queue) 2))) ;; insert the element (incf (graphs-pqueue-last queue)) (setf (aref (graphs-pqueue-data queue) (graphs-pqueue-last queue)) v) + (setf (gethash v (graphs-pqueue-index queue)) (graphs-pqueue-last queue)) (setf (gethash v (graphs-pqueue-weights queue)) w) ;; balance the queue (let* ((ind (graphs-pqueue-last queue)) (ind-new (truncate ind 2))) - (loop while (and (> ind 0) - (mlsp (gethash (aref (graphs-pqueue-data queue) ind) - (graphs-pqueue-weights queue)) - (gethash (aref (graphs-pqueue-data queue) ind-new) - (graphs-pqueue-weights queue)))) - do + (loop while (and (> ind 1) + (mlsp w (gethash (aref (graphs-pqueue-data queue) ind-new) + (graphs-pqueue-weights queue)))) + do (rotatef (aref (graphs-pqueue-data queue) ind) (aref (graphs-pqueue-data queue) ind-new)) + (rotatef (gethash (aref (graphs-pqueue-data queue) ind) (graphs-pqueue-index queue)) + (gethash (aref (graphs-pqueue-data queue) ind-new) (graphs-pqueue-index queue))) (setq ind ind-new) - (setq ind-new (truncate ind-new 2))))))) + (setq ind-new (truncate ind 2))))))) (defun graphs-pqueue-emptyp (queue) - (= (graphs-pqueue-last queue) -1)) + (= (graphs-pqueue-last queue) 0)) (defun graphs-pqueue-first (queue) - (aref (graphs-pqueue-data queue) 0)) + (aref (graphs-pqueue-data queue) 1)) (defun graphs-pqueue-get-weight (v queue) (gethash v (graphs-pqueue-weights queue))) @@ -81,20 +81,22 @@ (let ((top (graphs-pqueue-first queue)) (last (aref (graphs-pqueue-data queue) (graphs-pqueue-last queue))) - (pos 0) + (pos 1) min-child) ;; remove the top element (remhash top (graphs-pqueue-weights queue)) + (remhash top (graphs-pqueue-index queue)) (decf (graphs-pqueue-last queue)) ;; put the last element into the first position - (setf (aref (graphs-pqueue-data queue) 0) last) + (setf (aref (graphs-pqueue-data queue) 1) last) + (setf (gethash last (graphs-pqueue-index queue)) 1) ;; rebalance the queue (loop while t do ;; find the min child - (setf min-child (1+ (* 2 pos))) + (setf min-child (* 2 pos)) (when (> min-child (graphs-pqueue-last queue)) (return-from graphs-pqueue-pop top)) - (when (and (< (1+ min-child) (graphs-pqueue-last queue)) + (when (and (<= (1+ min-child) (graphs-pqueue-last queue)) (mlsp (gethash (aref (graphs-pqueue-data queue) (1+ min-child)) (graphs-pqueue-weights queue)) (gethash (aref (graphs-pqueue-data queue) min-child) @@ -108,6 +110,8 @@ (return-from graphs-pqueue-pop top)) (rotatef (aref (graphs-pqueue-data queue) pos) (aref (graphs-pqueue-data queue) min-child)) + (rotatef (gethash (aref (graphs-pqueue-data queue) pos) (graphs-pqueue-index queue)) + (gethash (aref (graphs-pqueue-data queue) min-child) (graphs-pqueue-index queue))) (setq pos min-child)))) (defun graphs-pqueue-contains (v queue) @@ -116,23 +120,20 @@ (defun graphs-pqueue-set-weight (v w queue) (setf (gethash v (graphs-pqueue-weights queue)) w) - (let ((pos 0)) - ;; find the node in the queue - (loop while (and (not (= (aref (graphs-pqueue-data queue) pos) v)) - (<= pos (graphs-pqueue-max queue))) do (incf pos)) + (let ((pos (gethash v (graphs-pqueue-index queue)))) ;; rebalance the queue (let* ((ind pos) (ind-new (truncate ind 2))) - (loop while (and (> ind 0) - (mlsp (gethash (aref (graphs-pqueue-data queue) ind) - (graphs-pqueue-weights queue)) - (gethash (aref (graphs-pqueue-data queue) ind-new) - (graphs-pqueue-weights queue)))) + (loop while (and (> ind 1) + (mlsp w (gethash (aref (graphs-pqueue-data queue) ind-new) + (graphs-pqueue-weights queue)))) do (rotatef (aref (graphs-pqueue-data queue) ind) (aref (graphs-pqueue-data queue) ind-new)) + (rotatef (gethash (aref (graphs-pqueue-data queue) ind) (graphs-pqueue-index queue)) + (gethash (aref (graphs-pqueue-data queue) ind-new) (graphs-pqueue-index queue))) (setq ind ind-new) - (setq ind-new (truncate ind-new 2)))))) + (setq ind-new (truncate ind 2)))))) ;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -161,15 +162,14 @@ (if (or (eq (gethash u distance) '$inf) (= u v1)) (setq cont nil) - (loop for w in (if (graph-p g) (neighbors u g) (out-neighbors u g)) do - (when (graphs-pqueue-contains w pq) - (let* ((e (if (graph-p g) (list (min u w) (max u w)) (list u w))) - (alt (m+ (or (get-edge-weight e g) 1) - u-distance))) - (when (mlsp alt (graphs-pqueue-get-weight w pq)) - (setf (gethash w previous) u) - (setf (gethash w distance) alt) - (graphs-pqueue-set-weight w alt pq)))))))) + (progn + (dolist (w (if (graph-p g) (neighbors u g) (out-neighbors u g))) + (when (graphs-pqueue-contains w pq) + (let ((alt (m+ u-distance ($get_edge_weight `((mlist simp) ,u ,w) g)))) + (when (mlsp alt (graphs-pqueue-get-weight w pq)) + (setf (gethash w previous) u) + (setf (gethash w distance) alt) + (graphs-pqueue-set-weight w alt pq))))))))) (values distance previous))) (defun $shortest_weighted_path (v u g) |