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
(40) |
May
(34) |
Jun
(49) |
Jul
(45) |
Aug
(8) |
Sep
(51) |
Oct
(75) |
Nov
(103) |
Dec
(80) |
| 2019 |
Jan
(153) |
Feb
(78) |
Mar
(47) |
Apr
(48) |
May
(63) |
Jun
(54) |
Jul
(10) |
Aug
(7) |
Sep
(17) |
Oct
(24) |
Nov
(29) |
Dec
(17) |
| 2020 |
Jan
(22) |
Feb
(74) |
Mar
(47) |
Apr
(48) |
May
(12) |
Jun
(44) |
Jul
(13) |
Aug
(18) |
Sep
(26) |
Oct
(36) |
Nov
(25) |
Dec
(23) |
| 2021 |
Jan
(28) |
Feb
(25) |
Mar
(58) |
Apr
(76) |
May
(72) |
Jun
(70) |
Jul
(25) |
Aug
(67) |
Sep
(17) |
Oct
(24) |
Nov
(30) |
Dec
(30) |
| 2022 |
Jan
(51) |
Feb
(39) |
Mar
(72) |
Apr
(65) |
May
(30) |
Jun
(72) |
Jul
(129) |
Aug
(44) |
Sep
(45) |
Oct
(30) |
Nov
(48) |
Dec
(275) |
| 2023 |
Jan
(235) |
Feb
(232) |
Mar
(68) |
Apr
(16) |
May
(52) |
Jun
(87) |
Jul
(143) |
Aug
(32) |
Sep
(26) |
Oct
(15) |
Nov
(20) |
Dec
(74) |
| 2024 |
Jan
(119) |
Feb
(32) |
Mar
(64) |
Apr
(68) |
May
(30) |
Jun
(50) |
Jul
(37) |
Aug
(32) |
Sep
(10) |
Oct
(27) |
Nov
(47) |
Dec
(36) |
| 2025 |
Jan
(94) |
Feb
(68) |
Mar
(79) |
Apr
(66) |
May
(46) |
Jun
(21) |
Jul
(134) |
Aug
(134) |
Sep
(53) |
Oct
(24) |
Nov
(16) |
Dec
|
|
From: rtoy <rt...@us...> - 2025-08-26 14:53:19
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, bug-4601-integrate-regression-spherical-bessel-j has been created
at fc85adb9a192bbd88269a695efd1df4136b94dc6 (commit)
- Log -----------------------------------------------------------------
commit fc85adb9a192bbd88269a695efd1df4136b94dc6
Author: Raymond Toy <toy...@gm...>
Date: Tue Aug 26 07:48:15 2025 -0700
Fix #4601: regression in spherical_bessel_j integral
When removing the special var `*updn`, we made a mistake in
`ptimes%e`. The second cond clause in `ptimes%e` was updating the
variable `term` with the result of the (recursive) call to `ptimes%e`.
However, in the original code, we didn't actually update `term`. We
only used the result to determine if the second clause applied; the
result was discarded.
In addition, for the original code, `*updn` **was** updated, so we
need to make sure we still update `updn` from this call.
Finally, the last clause did a throw and returned NIL. To be safe (I
think), we should return multiple values, returning `updn` as the
second value.
Added the integral as a test in rtest15.mac.
diff --git a/src/defint.lisp b/src/defint.lisp
index ac400993a..1f3d09f8b 100644
--- a/src/defint.lisp
+++ b/src/defint.lisp
@@ -1206,11 +1206,16 @@ in the interval of integration.")
(eq ($sign (m+ n (m- (deg-var (car nn*) ivar))))
'$pos))
(not (alike1 (cadr nn*) term))
- (multiple-value-setq (term updn)
- (ptimes%e (cadr nn*) n ivar))
- term)
+ (let (result)
+ ;; Call ptimes%e and make sure we update updn, but
+ ;; only want the return value from it to determine we
+ ;; this AND clause is true.
+ (multiple-value-setq (result updn)
+ (ptimes%e (cadr nn*) n ivar))
+ result))
(values term updn))
- (t (throw 'ptimes%e nil))))
+ (t
+ (throw 'ptimes%e (values nil updn)))))
(defun csemidown (n d ivar)
(let ((*pcprntd* t)) ;Not sure what to do about PRINCIPAL values here.
diff --git a/tests/rtest15.mac b/tests/rtest15.mac
index bd91f7f05..722f1d894 100644
--- a/tests/rtest15.mac
+++ b/tests/rtest15.mac
@@ -1734,3 +1734,8 @@ forget(xp > 0);
integrate(cos(2*x)*diff(f(x),x),x);
'integrate(cos(2*x)*'diff(f(x),x,1),x);
+/*
+ * SF bug 4601: regression in spherical_bessel_j integral
+ */
+integrate(spherical_bessel_j(1,x)^2, x, 0, inf);
+%pi/6;
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 15:18:49
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 6353d6f79bd54696da9072bd166ec83992392d03 (commit)
from 73b8130090553a09c29f11f7d04452c38e73e763 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6353d6f79bd54696da9072bd166ec83992392d03
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 08:03:57 2025 -0700
Run update_examples to regenerate examples
This also allows syntax highlighting if enabled.
diff --git a/doc/info/Polynomials.texi b/doc/info/Polynomials.texi
index 87a1f47be..be32c70ad 100644
--- a/doc/info/Polynomials.texi
+++ b/doc/info/Polynomials.texi
@@ -124,7 +124,7 @@ Examples:
@c determinant(%);
@c resultant(a*x+b, c*x^2+d, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) bezout(a*x+b, c*x^2+d, x);
[ b c - a d ]
@@ -166,7 +166,7 @@ Example:
@c is (freeof (x, c) and c[1] # 0))$
@c islinear ((r^2 - (x - r)^2)/x, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) islinear (expr, x) := block ([c],
c: bothcoef (rat (expr, x), x),
@@ -219,7 +219,7 @@ Examples:
@c ===beg===
@c coeff (b^3*a^3 + b^2*a^2 + b*a + 1, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (b^3*a^3 + b^2*a^2 + b*a + 1, a^3);
3
@@ -234,7 +234,7 @@ to @code{coeff(@var{expr}, @var{x}, @var{n})}.
@c coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z, 3);
@c coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z, 3);
(%o1) - c
@@ -253,7 +253,7 @@ which is free of @var{x}.
@c ===beg===
@c coeff (a*u + b^2*u^2 + c^3*u^3, b, 0);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (a*u + b^2*u^2 + c^3*u^3, b, 0);
3 3
@@ -271,7 +271,7 @@ comprises an operator and all of its arguments.
@c coeff (sin(1+x)*sin(x) + sin(1+x)^3*sin(x)^3, sin(1+x)^3);
@c coeff ((d - a)^2*(b + c)^3 + (a + b)^4*(c - d), a + b, 4);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (h^4 - 2*%pi*h^2 + 1, h, 2);
(%o1) - 2 %pi
@@ -302,7 +302,7 @@ function.
@c factor (b^3*c + 3*a*b^2*c + 3*a^2*b*c + a^3*c);
@c coeff (%, (a + b)^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (c*(a + b)^3, a);
(%o1) 0
@@ -339,7 +339,7 @@ function.
@c coeff (matrix ([a*x, b*x], [-c*x, -d*x]), x);
@c coeff (a*u - b*v = 7*u + 3*v, u);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff ([4*a, -3*a, 2*a], a);
(%o1) [4, - 3, 2]
@@ -377,7 +377,7 @@ Examples:
@c ===beg===
@c content (2*x*y + 4*x^2*y^2, y);
@c ===end===
-@example
+@example maxima
@group
(%i1) content (2*x*y + 4*x^2*y^2, y);
2
@@ -404,7 +404,7 @@ See also @mref{num}
@c g2:sin(x)/10*cos(x)/y;
@c denom(g2);
@c ===end===
-@example
+@example maxima
@group
(%i1) g1:(x+2)*(x+1)/((x+3)^2);
(x + 1) (x + 2)
@@ -452,7 +452,7 @@ Examples:
@c divide (x + y, x - y, x);
@c divide (x + y, x - y);
@c ===end===
-@example
+@example maxima
@group
(%i1) divide (x + y, x - y, x);
(%o1) [1, 2 y]
@@ -492,7 +492,7 @@ Example:
@c expr3: z^2 + x - y^2 + 5;
@c eliminate ([expr3, expr2, expr1], [y, z]);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr1: 2*x^2 + y*x + z;
2
@@ -547,7 +547,7 @@ gcd is first calculated with the function @code{gcd} and then with the function
@c gcd(p1, gcd(p2, p3));
@c ezgcd(p1, p2, p3);
@c ===end===
-@example
+@example maxima
@group
(%i1) p1 : 6*x^3-17*x^2+14*x-3;
3 2
@@ -656,7 +656,7 @@ Examples:
@c factor (1 + x^12);
@c factor (1 + x^99);
@c ===end===
-@example
+@example maxima
@group
(%i1) factor (2^63 - 1);
2
@@ -800,7 +800,7 @@ Example:
@c factor(x^100-1);
@c factor(x^101-1);
@c ===end===
-@example
+@example maxima
(%i1) factor_max_degree : 100$
@group
(%i2) factor(x^100-1);
@@ -876,7 +876,7 @@ Example:
@c expand (a*(x+1)*(x-1)*(u+1)^2);
@c factorout(%,x);
@c ===end===
-@example
+@example maxima
@group
(%i1) expand (a*(x+1)*(x-1)*(u+1)^2);
2 2 2 2 2
@@ -911,7 +911,7 @@ Example:
@c expand ((x + 1)*((u + v)^2 + a*(w + z)^2));
@c factorsum (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) expand ((x + 1)*((u + v)^2 + a*(w + z)^2));
2 2 2 2
@@ -974,7 +974,7 @@ Example:
@c fullratsimp (expr);
@c rat (expr);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (x^(a/2) + 1)^2*(x^(a/2) - 1)^2/(x^a - 1);
a/2 2 a/2 2
@@ -1039,7 +1039,7 @@ Examples:
@c subst ([a = b, c = d], a + c);
@c lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c));
@c ===end===
-@example
+@example maxima
@group
(%i1) subst ([a = b, c = d], a + c);
(%o1) d + b
@@ -1057,7 +1057,7 @@ equation may be given as first argument.
@c ===beg===
@c lratsubst (a^2 = b, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst (a^2 = b, a^3);
(%o1) a b
@@ -1072,7 +1072,7 @@ except that it recurses until its result stops changing.
@c ratsubst (b*a, a^2, a^3);
@c fullratsubst (b*a, a^2, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratsubst (b*a, a^2, a^3);
2
@@ -1093,7 +1093,7 @@ equation as first argument.
@c fullratsubst ([a^2 = b, b^2 = c, c^2 = a], a^3*b*c);
@c fullratsubst (a^2 = b*a, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) fullratsubst ([a^2 = b, b^2 = c, c^2 = a], a^3*b*c);
(%o1) b
@@ -1111,10 +1111,10 @@ equation as first argument.
@c ===beg===
@c fullratsubst (b*a^2, a^2, a^3), lrats_max_iter=15;
@c ===end===
-@example
+Warning: fullratsubst2(listofeqns,expr): reached maximum iterations of 15 . Increase `lrats_max_iter' to increase this limit.
+@example maxima
@group
(%i1) fullratsubst (b*a^2, a^2, a^3), lrats_max_iter=15;
-Warning: fullratsubst2(listofeqns,expr): reached maximum iterations of 15 . Increase `lrats_max_iter' to increase this limit.
3 15
(%o1) a b
@end group
@@ -1181,7 +1181,7 @@ Example:
@c p1/gcd(p1, p2), ratsimp;
@c p2/gcd(p1, p2), ratsimp;
@c ===end===
-@example
+@example maxima
@group
(%i1) p1:6*x^3+19*x^2+19*x+6;
3 2
@@ -1217,7 +1217,7 @@ the polynomials divided by the greatest common divisor.
@c p2:6*x^5+13*x^4+12*x^3+13*x^2+6*x $
@c ezgcd(p1, p2);
@c ===end===
-@example
+@example maxima
(%i1) p1:6*x^3+19*x^2+19*x+6 $
(%i2) p2:6*x^5+13*x^4+12*x^3+13*x^2+6*x $
@group
@@ -1267,7 +1267,7 @@ Examples:
@c gcdex (x^2 + 1, x^3 + 4);
@c % . [x^2 + 1, x^3 + 4, -1];
@c ===end===
-@example
+@example maxima
@group
(%i1) gcdex (x^2 + 1, x^3 + 4);
2
@@ -1288,7 +1288,7 @@ not the @code{y+1} we would expect in @code{k[y, x]}.
@c ===beg===
@c gcdex (x*(y + 1), y^2 - 1, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) gcdex (x*(y + 1), y^2 - 1, x);
1
@@ -1337,7 +1337,7 @@ Example:
@c ===beg===
@c gfactor (x^4 - 1);
@c ===end===
-@example
+@example maxima
@group
(%i1) gfactor (x^4 - 1);
(%o1) (x - 1) (x + 1) (x - %i) (x + %i)
@@ -1387,7 +1387,7 @@ Examples:
@c hipow ((x + y)^5, x + y);
@c hipow (expand ((x + y)^5), x + y);
@c ===end===
-@example
+@example maxima
@group
(%i1) hipow (y^3 * x^2 + x * y^4, x);
(%o1) 2
@@ -1462,7 +1462,7 @@ Examples:
@c rat(x/2.0);
@c rat(x/2.0), keepfloat;
@c ===end===
-@example
+@example maxima
@group
(%i1) rat(x/2.0);
rat: replaced 0.5 by 1/2 = 0.5
@@ -1481,7 +1481,7 @@ rat: replaced 0.5 by 1/2 = 0.5
@c ===beg===
@c solve(1.0-x,x), keepfloat;
@c ===end===
-@example
+@example maxima
@group
(%i1) solve(1.0-x,x), keepfloat;
rat: replaced 1.0 by 1/1 = 1.0
@@ -1504,7 +1504,7 @@ Returns the lowest exponent of @var{x} which explicitly appears in
@c ===beg===
@c lopow ((x+y)^2 + (x+y)^a, x+y);
@c ===end===
-@example
+@example maxima
@group
(%i1) lopow ((x+y)^2 + (x+y)^a, x+y);
(%o1) min(2, a)
@@ -1552,7 +1552,7 @@ Examples:
@c lratsubst ([a = b, c = d], a + c);
@c lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c));
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst ([a = b, c = d], a + c);
(%o1) d + b
@@ -1569,7 +1569,7 @@ equation may be given as first argument.
@c ===beg===
@c lratsubst (a^2 = b, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst (a^2 = b, a^3);
(%o1) a b
@@ -1582,7 +1582,7 @@ which is a list of equations.
@c ===beg===
@c lratsubst ([[a^2=b*a, b=c]], a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst ([[a^2=b*a, b=c]], a^3);
2
@@ -1652,7 +1652,7 @@ Examples:
@c factor(poly);
@c polymod(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) modulus:7;
(%o1) 7
@@ -1724,7 +1724,7 @@ See also @mref{denom}
@c g2:sin(x)/10*cos(x)/y;
@c num(g2);
@c ===end===
-@example
+@example maxima
@group
(%i1) g1:(x+2)*(x+1)/((x+3)^2);
(x + 1) (x + 2)
@@ -1779,7 +1779,7 @@ Examples:
@c p : expand (subst (x^3 - x - 1, x, x^2 - a));
@c polydecomp (p, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) polydecomp (x^210, x);
7 5 3 2
@@ -1804,7 +1804,7 @@ The following function composes @code{L = [e_1, ..., e_n]} as functions in
@c compose (L, x) :=
@c block ([r : x], for e in L do r : subst (e, x, r), r) $
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1818,7 +1818,7 @@ Re-express above example using @code{compose}:
@c block ([r : x], for e in L do r : subst (e, x, r), r) $
@c polydecomp (compose ([x^2 - a, x^3 - x - 1], x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1841,7 +1841,7 @@ returns @var{p} (unexpanded), @code{polydecomp (compose ([@var{p_1}, ...,
@c polydecomp (compose ([x^2 + 2*x + 3, x^2], x), x);
@c polydecomp (compose ([x^2 + x + 1, x^2 + x + 1], x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1913,7 +1913,7 @@ The polynomial needn't be expanded:
@c polynomialp ((x + 1)*(x + 2), [x]);
@c polynomialp ((x + 1)*(x + 2)^a, [x]);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp ((x + 1)*(x + 2), [x]);
(%o1) true
@@ -1931,7 +1931,7 @@ An example using non-default values for coeffp and exponp:
@c polynomialp ((x^(1/2) + 1)*(x + 2)^(3/2), [x], numberp,
@c numberp);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp ((x + 1)*(x + 2)^(3/2), [x], numberp, numberp);
(%o1) true
@@ -1949,7 +1949,7 @@ Polynomials with two variables:
@c polynomialp (x^2 + 5*x*y + y^2, [x]);
@c polynomialp (x^2 + 5*x*y + y^2, [x, y]);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp (x^2 + 5*x*y + y^2, [x]);
(%o1) false
@@ -1966,7 +1966,7 @@ Polynomial in one variable and accepting any expression free of @code{x} as a co
@c polynomialp (a*x^2 + b*x + c, [x]);
@c polynomialp (a*x^2 + b*x + c, [x], lambda([ex], freeof(x, ex)));
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp (a*x^2 + b*x + c, [x]);
(%o1) false
@@ -2052,7 +2052,7 @@ Examples:
@c (4*y^2 + x^2);
@c rat (%, y, a, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) ((x - 2*y)^4/(x^2 - 4*y^2)^2 + 1)*(y + a)*(2*y + x) /
(4*y^2 + x^2);
@@ -2131,7 +2131,7 @@ Example:
@c s: a*x + b*x + 5$
@c ratcoef (s, a + b);
@c ===end===
-@example
+@example maxima
(%i1) s: a*x + b*x + 5$
@group
(%i2) ratcoef (s, a + b);
@@ -2193,7 +2193,7 @@ Examples:
@c expr2: a^2/(b^2 + 3) + b/(b^2 + 3);
@c ratexpand (expr2);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (x^2 + x + 1)/(y^2 + 7);
2
@@ -2279,7 +2279,7 @@ Example:
@c expr: (a + b)^3 + (a + b)^2;
@c ratdiff (expr, a + b);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (4*x^3 + 10*x - 11)/(x^5 + 5);
3
@@ -2383,7 +2383,7 @@ Examples:
@c expand (expr);
@c ratexpand (expr);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratexpand ((2*x - 3*y)^3);
3 2 2 3
@@ -2538,7 +2538,7 @@ Examples:
@c ratsimp (%);
@c x^(a + 1/a), ratsimpexpons: true;
@c ===end===
-@example
+@example maxima
@group
(%i1) sin (x/(x^2 + x)) = exp ((log(x) + 1)^2 - log(x)^2);
2 2
@@ -2646,7 +2646,7 @@ Examples:
@c radsubstflag: true$
@c ratsubst (u, sqrt(x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratsubst (a, x*y^2, x^4*y^3 + x^4*y^8);
3 4
@@ -2739,7 +2739,7 @@ list @code{VARLIST}.
@c rat(2*a+b^2);
@c :lisp varlist
@c ===end===
-@example
+@example maxima
(%i1) ratvarswitch:true$
@group
(%i2) rat(2*x+y^2);
@@ -2771,7 +2771,7 @@ evaluation are still present.
@c rat(2*a+b^2);
@c :lisp varlist
@c ===end===
-@example
+@example maxima
(%i1) ratvarswitch:false$
@group
(%i2) rat(2*x+y^2);
@@ -2827,7 +2827,7 @@ Examples:
@c ratwtlvl: 1$
@c expr1^2;
@c ===end===
-@example
+@example maxima
@group
(%i1) ratweight (a, 1, b, 1);
(%o1) [a, 1, b, 1]
@@ -2928,7 +2928,7 @@ Examples:
@c bezout(a*x^2+b*x+1, c*x+2, x);
@c determinant(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) resultant(2*x^2+3*x+1, 2*x^2+x+1, x);
(%o1) 8
@@ -3040,7 +3040,7 @@ Example:
@c ===beg===
@c sqfr (4*x^4 + 4*x^3 - 3*x^2 - 4*x - 1);
@c ===end===
-@example
+@example maxima
@group
(%i1) sqfr (4*x^4 + 4*x^3 - 3*x^2 - 4*x - 1);
2 2
@@ -3103,7 +3103,7 @@ Examples:
@c ev (ratdisrep (rat(%)), algebraic);
@c tellrat (y^2 = x^2);
@c ===end===
-@example
+@example maxima
@group
(%i1) 10*(%i + 1)/(%i + 3^(1/3));
10 (%i + 1)
-----------------------------------------------------------------------
Summary of changes:
doc/info/Polynomials.texi | 118 +++++++++++++++++++++++-----------------------
1 file changed, 59 insertions(+), 59 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 15:04:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, rtoy-polynomials-update-examples has been updated
via a5e3721ef7526514d301049a5f1f925747d51164 (commit)
via a50513aa4343ded8d36d12f16373304010b8d8a5 (commit)
via d87816d205054b62dfa566c4950029bb6a182117 (commit)
via c1a14751e15eef5e5267ab23210cbb6f5cd8a047 (commit)
via d3ad02dd11f37dabe40b414df62d5a60214c2959 (commit)
via e9d6f170cdb98656288306ff539f46e40ecfa9dc (commit)
via 02647d1aa3b7fb0617790eff5f30f96f514fb52f (commit)
via db31e867f01271a6b98129203adb9630e3c4e5a0 (commit)
via 573cb0e234adff5291c5bdf1a82808f601ee2396 (commit)
via ba77ba38016dc94e10d1d2102a9b67302ca7b8f4 (commit)
via e8720d15b1ef1dca39d6abe61c7cd7f33555da43 (commit)
from c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a5e3721ef7526514d301049a5f1f925747d51164
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 08:03:57 2025 -0700
Run update_examples to regenerate examples
This also allows syntax highlighting if enabled.
diff --git a/doc/info/Polynomials.texi b/doc/info/Polynomials.texi
index 87a1f47be..be32c70ad 100644
--- a/doc/info/Polynomials.texi
+++ b/doc/info/Polynomials.texi
@@ -124,7 +124,7 @@ Examples:
@c determinant(%);
@c resultant(a*x+b, c*x^2+d, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) bezout(a*x+b, c*x^2+d, x);
[ b c - a d ]
@@ -166,7 +166,7 @@ Example:
@c is (freeof (x, c) and c[1] # 0))$
@c islinear ((r^2 - (x - r)^2)/x, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) islinear (expr, x) := block ([c],
c: bothcoef (rat (expr, x), x),
@@ -219,7 +219,7 @@ Examples:
@c ===beg===
@c coeff (b^3*a^3 + b^2*a^2 + b*a + 1, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (b^3*a^3 + b^2*a^2 + b*a + 1, a^3);
3
@@ -234,7 +234,7 @@ to @code{coeff(@var{expr}, @var{x}, @var{n})}.
@c coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z, 3);
@c coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (c[4]*z^4 - c[3]*z^3 - c[2]*z^2 + c[1]*z, z, 3);
(%o1) - c
@@ -253,7 +253,7 @@ which is free of @var{x}.
@c ===beg===
@c coeff (a*u + b^2*u^2 + c^3*u^3, b, 0);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (a*u + b^2*u^2 + c^3*u^3, b, 0);
3 3
@@ -271,7 +271,7 @@ comprises an operator and all of its arguments.
@c coeff (sin(1+x)*sin(x) + sin(1+x)^3*sin(x)^3, sin(1+x)^3);
@c coeff ((d - a)^2*(b + c)^3 + (a + b)^4*(c - d), a + b, 4);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (h^4 - 2*%pi*h^2 + 1, h, 2);
(%o1) - 2 %pi
@@ -302,7 +302,7 @@ function.
@c factor (b^3*c + 3*a*b^2*c + 3*a^2*b*c + a^3*c);
@c coeff (%, (a + b)^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff (c*(a + b)^3, a);
(%o1) 0
@@ -339,7 +339,7 @@ function.
@c coeff (matrix ([a*x, b*x], [-c*x, -d*x]), x);
@c coeff (a*u - b*v = 7*u + 3*v, u);
@c ===end===
-@example
+@example maxima
@group
(%i1) coeff ([4*a, -3*a, 2*a], a);
(%o1) [4, - 3, 2]
@@ -377,7 +377,7 @@ Examples:
@c ===beg===
@c content (2*x*y + 4*x^2*y^2, y);
@c ===end===
-@example
+@example maxima
@group
(%i1) content (2*x*y + 4*x^2*y^2, y);
2
@@ -404,7 +404,7 @@ See also @mref{num}
@c g2:sin(x)/10*cos(x)/y;
@c denom(g2);
@c ===end===
-@example
+@example maxima
@group
(%i1) g1:(x+2)*(x+1)/((x+3)^2);
(x + 1) (x + 2)
@@ -452,7 +452,7 @@ Examples:
@c divide (x + y, x - y, x);
@c divide (x + y, x - y);
@c ===end===
-@example
+@example maxima
@group
(%i1) divide (x + y, x - y, x);
(%o1) [1, 2 y]
@@ -492,7 +492,7 @@ Example:
@c expr3: z^2 + x - y^2 + 5;
@c eliminate ([expr3, expr2, expr1], [y, z]);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr1: 2*x^2 + y*x + z;
2
@@ -547,7 +547,7 @@ gcd is first calculated with the function @code{gcd} and then with the function
@c gcd(p1, gcd(p2, p3));
@c ezgcd(p1, p2, p3);
@c ===end===
-@example
+@example maxima
@group
(%i1) p1 : 6*x^3-17*x^2+14*x-3;
3 2
@@ -656,7 +656,7 @@ Examples:
@c factor (1 + x^12);
@c factor (1 + x^99);
@c ===end===
-@example
+@example maxima
@group
(%i1) factor (2^63 - 1);
2
@@ -800,7 +800,7 @@ Example:
@c factor(x^100-1);
@c factor(x^101-1);
@c ===end===
-@example
+@example maxima
(%i1) factor_max_degree : 100$
@group
(%i2) factor(x^100-1);
@@ -876,7 +876,7 @@ Example:
@c expand (a*(x+1)*(x-1)*(u+1)^2);
@c factorout(%,x);
@c ===end===
-@example
+@example maxima
@group
(%i1) expand (a*(x+1)*(x-1)*(u+1)^2);
2 2 2 2 2
@@ -911,7 +911,7 @@ Example:
@c expand ((x + 1)*((u + v)^2 + a*(w + z)^2));
@c factorsum (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) expand ((x + 1)*((u + v)^2 + a*(w + z)^2));
2 2 2 2
@@ -974,7 +974,7 @@ Example:
@c fullratsimp (expr);
@c rat (expr);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (x^(a/2) + 1)^2*(x^(a/2) - 1)^2/(x^a - 1);
a/2 2 a/2 2
@@ -1039,7 +1039,7 @@ Examples:
@c subst ([a = b, c = d], a + c);
@c lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c));
@c ===end===
-@example
+@example maxima
@group
(%i1) subst ([a = b, c = d], a + c);
(%o1) d + b
@@ -1057,7 +1057,7 @@ equation may be given as first argument.
@c ===beg===
@c lratsubst (a^2 = b, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst (a^2 = b, a^3);
(%o1) a b
@@ -1072,7 +1072,7 @@ except that it recurses until its result stops changing.
@c ratsubst (b*a, a^2, a^3);
@c fullratsubst (b*a, a^2, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratsubst (b*a, a^2, a^3);
2
@@ -1093,7 +1093,7 @@ equation as first argument.
@c fullratsubst ([a^2 = b, b^2 = c, c^2 = a], a^3*b*c);
@c fullratsubst (a^2 = b*a, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) fullratsubst ([a^2 = b, b^2 = c, c^2 = a], a^3*b*c);
(%o1) b
@@ -1111,10 +1111,10 @@ equation as first argument.
@c ===beg===
@c fullratsubst (b*a^2, a^2, a^3), lrats_max_iter=15;
@c ===end===
-@example
+Warning: fullratsubst2(listofeqns,expr): reached maximum iterations of 15 . Increase `lrats_max_iter' to increase this limit.
+@example maxima
@group
(%i1) fullratsubst (b*a^2, a^2, a^3), lrats_max_iter=15;
-Warning: fullratsubst2(listofeqns,expr): reached maximum iterations of 15 . Increase `lrats_max_iter' to increase this limit.
3 15
(%o1) a b
@end group
@@ -1181,7 +1181,7 @@ Example:
@c p1/gcd(p1, p2), ratsimp;
@c p2/gcd(p1, p2), ratsimp;
@c ===end===
-@example
+@example maxima
@group
(%i1) p1:6*x^3+19*x^2+19*x+6;
3 2
@@ -1217,7 +1217,7 @@ the polynomials divided by the greatest common divisor.
@c p2:6*x^5+13*x^4+12*x^3+13*x^2+6*x $
@c ezgcd(p1, p2);
@c ===end===
-@example
+@example maxima
(%i1) p1:6*x^3+19*x^2+19*x+6 $
(%i2) p2:6*x^5+13*x^4+12*x^3+13*x^2+6*x $
@group
@@ -1267,7 +1267,7 @@ Examples:
@c gcdex (x^2 + 1, x^3 + 4);
@c % . [x^2 + 1, x^3 + 4, -1];
@c ===end===
-@example
+@example maxima
@group
(%i1) gcdex (x^2 + 1, x^3 + 4);
2
@@ -1288,7 +1288,7 @@ not the @code{y+1} we would expect in @code{k[y, x]}.
@c ===beg===
@c gcdex (x*(y + 1), y^2 - 1, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) gcdex (x*(y + 1), y^2 - 1, x);
1
@@ -1337,7 +1337,7 @@ Example:
@c ===beg===
@c gfactor (x^4 - 1);
@c ===end===
-@example
+@example maxima
@group
(%i1) gfactor (x^4 - 1);
(%o1) (x - 1) (x + 1) (x - %i) (x + %i)
@@ -1387,7 +1387,7 @@ Examples:
@c hipow ((x + y)^5, x + y);
@c hipow (expand ((x + y)^5), x + y);
@c ===end===
-@example
+@example maxima
@group
(%i1) hipow (y^3 * x^2 + x * y^4, x);
(%o1) 2
@@ -1462,7 +1462,7 @@ Examples:
@c rat(x/2.0);
@c rat(x/2.0), keepfloat;
@c ===end===
-@example
+@example maxima
@group
(%i1) rat(x/2.0);
rat: replaced 0.5 by 1/2 = 0.5
@@ -1481,7 +1481,7 @@ rat: replaced 0.5 by 1/2 = 0.5
@c ===beg===
@c solve(1.0-x,x), keepfloat;
@c ===end===
-@example
+@example maxima
@group
(%i1) solve(1.0-x,x), keepfloat;
rat: replaced 1.0 by 1/1 = 1.0
@@ -1504,7 +1504,7 @@ Returns the lowest exponent of @var{x} which explicitly appears in
@c ===beg===
@c lopow ((x+y)^2 + (x+y)^a, x+y);
@c ===end===
-@example
+@example maxima
@group
(%i1) lopow ((x+y)^2 + (x+y)^a, x+y);
(%o1) min(2, a)
@@ -1552,7 +1552,7 @@ Examples:
@c lratsubst ([a = b, c = d], a + c);
@c lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c));
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst ([a = b, c = d], a + c);
(%o1) d + b
@@ -1569,7 +1569,7 @@ equation may be given as first argument.
@c ===beg===
@c lratsubst (a^2 = b, a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst (a^2 = b, a^3);
(%o1) a b
@@ -1582,7 +1582,7 @@ which is a list of equations.
@c ===beg===
@c lratsubst ([[a^2=b*a, b=c]], a^3);
@c ===end===
-@example
+@example maxima
@group
(%i1) lratsubst ([[a^2=b*a, b=c]], a^3);
2
@@ -1652,7 +1652,7 @@ Examples:
@c factor(poly);
@c polymod(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) modulus:7;
(%o1) 7
@@ -1724,7 +1724,7 @@ See also @mref{denom}
@c g2:sin(x)/10*cos(x)/y;
@c num(g2);
@c ===end===
-@example
+@example maxima
@group
(%i1) g1:(x+2)*(x+1)/((x+3)^2);
(x + 1) (x + 2)
@@ -1779,7 +1779,7 @@ Examples:
@c p : expand (subst (x^3 - x - 1, x, x^2 - a));
@c polydecomp (p, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) polydecomp (x^210, x);
7 5 3 2
@@ -1804,7 +1804,7 @@ The following function composes @code{L = [e_1, ..., e_n]} as functions in
@c compose (L, x) :=
@c block ([r : x], for e in L do r : subst (e, x, r), r) $
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1818,7 +1818,7 @@ Re-express above example using @code{compose}:
@c block ([r : x], for e in L do r : subst (e, x, r), r) $
@c polydecomp (compose ([x^2 - a, x^3 - x - 1], x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1841,7 +1841,7 @@ returns @var{p} (unexpanded), @code{polydecomp (compose ([@var{p_1}, ...,
@c polydecomp (compose ([x^2 + 2*x + 3, x^2], x), x);
@c polydecomp (compose ([x^2 + x + 1, x^2 + x + 1], x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) compose (L, x) :=
block ([r : x], for e in L do r : subst (e, x, r), r) $
@@ -1913,7 +1913,7 @@ The polynomial needn't be expanded:
@c polynomialp ((x + 1)*(x + 2), [x]);
@c polynomialp ((x + 1)*(x + 2)^a, [x]);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp ((x + 1)*(x + 2), [x]);
(%o1) true
@@ -1931,7 +1931,7 @@ An example using non-default values for coeffp and exponp:
@c polynomialp ((x^(1/2) + 1)*(x + 2)^(3/2), [x], numberp,
@c numberp);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp ((x + 1)*(x + 2)^(3/2), [x], numberp, numberp);
(%o1) true
@@ -1949,7 +1949,7 @@ Polynomials with two variables:
@c polynomialp (x^2 + 5*x*y + y^2, [x]);
@c polynomialp (x^2 + 5*x*y + y^2, [x, y]);
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp (x^2 + 5*x*y + y^2, [x]);
(%o1) false
@@ -1966,7 +1966,7 @@ Polynomial in one variable and accepting any expression free of @code{x} as a co
@c polynomialp (a*x^2 + b*x + c, [x]);
@c polynomialp (a*x^2 + b*x + c, [x], lambda([ex], freeof(x, ex)));
@c ===end===
-@example
+@example maxima
@group
(%i1) polynomialp (a*x^2 + b*x + c, [x]);
(%o1) false
@@ -2052,7 +2052,7 @@ Examples:
@c (4*y^2 + x^2);
@c rat (%, y, a, x);
@c ===end===
-@example
+@example maxima
@group
(%i1) ((x - 2*y)^4/(x^2 - 4*y^2)^2 + 1)*(y + a)*(2*y + x) /
(4*y^2 + x^2);
@@ -2131,7 +2131,7 @@ Example:
@c s: a*x + b*x + 5$
@c ratcoef (s, a + b);
@c ===end===
-@example
+@example maxima
(%i1) s: a*x + b*x + 5$
@group
(%i2) ratcoef (s, a + b);
@@ -2193,7 +2193,7 @@ Examples:
@c expr2: a^2/(b^2 + 3) + b/(b^2 + 3);
@c ratexpand (expr2);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (x^2 + x + 1)/(y^2 + 7);
2
@@ -2279,7 +2279,7 @@ Example:
@c expr: (a + b)^3 + (a + b)^2;
@c ratdiff (expr, a + b);
@c ===end===
-@example
+@example maxima
@group
(%i1) expr: (4*x^3 + 10*x - 11)/(x^5 + 5);
3
@@ -2383,7 +2383,7 @@ Examples:
@c expand (expr);
@c ratexpand (expr);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratexpand ((2*x - 3*y)^3);
3 2 2 3
@@ -2538,7 +2538,7 @@ Examples:
@c ratsimp (%);
@c x^(a + 1/a), ratsimpexpons: true;
@c ===end===
-@example
+@example maxima
@group
(%i1) sin (x/(x^2 + x)) = exp ((log(x) + 1)^2 - log(x)^2);
2 2
@@ -2646,7 +2646,7 @@ Examples:
@c radsubstflag: true$
@c ratsubst (u, sqrt(x), x);
@c ===end===
-@example
+@example maxima
@group
(%i1) ratsubst (a, x*y^2, x^4*y^3 + x^4*y^8);
3 4
@@ -2739,7 +2739,7 @@ list @code{VARLIST}.
@c rat(2*a+b^2);
@c :lisp varlist
@c ===end===
-@example
+@example maxima
(%i1) ratvarswitch:true$
@group
(%i2) rat(2*x+y^2);
@@ -2771,7 +2771,7 @@ evaluation are still present.
@c rat(2*a+b^2);
@c :lisp varlist
@c ===end===
-@example
+@example maxima
(%i1) ratvarswitch:false$
@group
(%i2) rat(2*x+y^2);
@@ -2827,7 +2827,7 @@ Examples:
@c ratwtlvl: 1$
@c expr1^2;
@c ===end===
-@example
+@example maxima
@group
(%i1) ratweight (a, 1, b, 1);
(%o1) [a, 1, b, 1]
@@ -2928,7 +2928,7 @@ Examples:
@c bezout(a*x^2+b*x+1, c*x+2, x);
@c determinant(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) resultant(2*x^2+3*x+1, 2*x^2+x+1, x);
(%o1) 8
@@ -3040,7 +3040,7 @@ Example:
@c ===beg===
@c sqfr (4*x^4 + 4*x^3 - 3*x^2 - 4*x - 1);
@c ===end===
-@example
+@example maxima
@group
(%i1) sqfr (4*x^4 + 4*x^3 - 3*x^2 - 4*x - 1);
2 2
@@ -3103,7 +3103,7 @@ Examples:
@c ev (ratdisrep (rat(%)), algebraic);
@c tellrat (y^2 = x^2);
@c ===end===
-@example
+@example maxima
@group
(%i1) 10*(%i + 1)/(%i + 3^(1/3));
10 (%i + 1)
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 3 +-
doc/info/Database.texi | 429 ++++++++++++++++++++++++++++++++++-----
doc/info/Plotting.texi | 156 ++++++++------
doc/info/Polynomials.texi | 118 +++++------
doc/info/category-macros.texi.in | 18 ++
doc/info/figures/README | 6 +-
share/contrib/rtest_wrstcse.mac | 2 +
share/contrib/wrstcse.mac | 22 ++
8 files changed, 580 insertions(+), 174 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-25 14:59:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 73b8130090553a09c29f11f7d04452c38e73e763 (commit)
from bee286fe9e5b1cc8c6b99b9037ab1050364bd2b7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 73b8130090553a09c29f11f7d04452c38e73e763
Author: villate <vi...@fe...>
Date: Mon Aug 25 15:58:42 2025 +0100
Fixes the images in the Spanish version of the manual.
diff --git a/doc/info/es/Introduction.es.texi b/doc/info/es/Introduction.es.texi
index 0994ad139..c2306f4c3 100644
--- a/doc/info/es/Introduction.es.texi
+++ b/doc/info/es/Introduction.es.texi
@@ -163,24 +163,18 @@ Maxima puede generar gráficos de una o más funciones:
@example
(%i1) plot2d (sin(x)/x, [x, -20, 20])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/introduction1, 10cm}
-@end ifnotinfo
+@altfigure{introduction1, Gráfico de una función}
@example
(%i2) plot2d ([atan(x), erf(x), tanh(x)], [x, -5, 5], [y, -1.5, 2])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/introduction2, 10cm}
-@end ifnotinfo
+@altfigure{introduction2, Gráfico de dos funciones}
@example
@group
(%i3) plot3d (sin(sqrt(x^2 + y^2))/sqrt(x^2 + y^2),
[x, -12, 12], [y, -12, 12])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/introduction3, 12cm}
-@end ifnotinfo
+@altfigure{introduction3, Gráfico de una función de dos variables}
@c Traducido por: Juan Pablo Romero Bernal
@c Revisado por : Juan Pablo Romero Bernal
diff --git a/doc/info/es/Numerical.es.texi b/doc/info/es/Numerical.es.texi
index 1909e2b22..c291a520a 100644
--- a/doc/info/es/Numerical.es.texi
+++ b/doc/info/es/Numerical.es.texi
@@ -769,12 +769,11 @@ Para mostrar el campo de direcciones de la ecuación diferencial
(%i2) plotdf(exp(-x)+y,[trajectory_at,2,-0.1]);
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf1,8cm}
-@end ifnotinfo
+@altfigure{plotdf1, Campo de direcciones de la ecuación diferencial
+@math{y' = exp(-x) + y}}
@item
-Para mostrar el campo de direcciones de la ecuación
+Para mostrar el campo de direcciones de la ecuación diferencial
@math{diff(y,x) = x - y^2} y la solución de condición
inicial @math{y(-1) = 3}, se puede utilizar la sentencia:
@example
@@ -784,9 +783,8 @@ inicial @math{y(-1) = 3}, se puede utilizar la sentencia:
@end example
El gráfico también muestra la función @math{y = sqrt(x)}.
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf2,8cm}
-@end ifnotinfo
+@altfigure{plotdf2, Campo de direcciones de la ecuación diferencial
+@math{diff(y,x) = x - y^2}}
@item
El siguiente ejemplo muestra el campo de direcciones de un oscilador
@@ -800,9 +798,7 @@ permitirá cambiar el valor de @math{m} interactivamente
[sliders,"m=1:5"], [trajectory_at,6,0]);
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf3,8cm}
-@end ifnotinfo
+@altfigure{plotdf3, Campo de direcciones de un oscilador armónico}
@item
Para representar el campo de direcciones de la ecuación de
@@ -814,9 +810,7 @@ variable @math{y=x'} y se hace:
[sliders,"k=-2:2,m=-1:1"],[tstep,0.1]);
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf4,8cm}
-@end ifnotinfo
+@altfigure{plotdf4, Campo de direcciones de la ecuación de Duffing}
@item
El campo de direcciones de un péndulo amortiguado,
@@ -834,9 +828,7 @@ de las dos variables de estado como funciones del tiempo:
[sliders,"m=0.1:1"], [versus_t,1]);
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf5,8cm}@image{@value{figuresfolder}/plotdf6,8cm}
-@end ifnotinfo
+@altfigure{plotdf5, Campo de direcciones de un péndulo amortiguado}@altfigure{plotdf6, Una solución de un péndulo amortiguado}
@end itemize
diff --git a/doc/info/es/Plotting.es.texi b/doc/info/es/Plotting.es.texi
index b83293c30..d7f434039 100644
--- a/doc/info/es/Plotting.es.texi
+++ b/doc/info/es/Plotting.es.texi
@@ -107,57 +107,6 @@ nombre se sigue aceptando como sinónimo de @code{xmaxima}.
@node Funciones y variables para gráficos, Opciones gráficas, Formatos gráficos, Gráficos
@section Funciones y variables para gráficos
-@deffn {Función} contour_plot (@var{expr}, @var{x_range}, @var{y_range}, @var{options}, @dots{})
-
-Dibuja las curvas de nivel de @var{expr}
-en el rectángulo @var{x_range} por @var{y_range}.
-Cualesquiera otros argumentos adicionales se tratan como en @code{plot3d}.
-
-@code{contour_plot} sólo trabaja con los métodos @code{gnuplot} o @code{gnuplot_pipes}.
-
-Véase también @code{implicit_plot}.
-
-Ejemplos:
-
-@c ===beg===
-@c contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
-@c ===end===
-@example
-(%i1) contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotting1,8cm}
-@end ifnotinfo
-
-Se pueden añadir cualesquiera opciones que acepte @code{plot3d};
-por ejemplo, la opción @code{legend} con un valor @code{false},
-para eliminar la leyenda. Gnuplot muestra por defecto tres
-líneas de contorno, pero para aumentar el
-número de niveles es necesario añadir algún código nativo
-de Gnuplot:
-
-@c ===beg===
-@c contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4],
-@c [legend,false],
-@c [gnuplot_preamble, "set cntrparam levels 12"])$
-@c ===end===
-@example
-@group
-(%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4],
- [legend,false],
- [gnuplot_preamble, "set cntrparam levels 12"])$
-@end group
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotting2,8cm}
-@end ifnotinfo
-
-@end deffn
-
-
-
@deffn {Función} get_plot_option (@var{keyword}, @var{index})
Devuelve el valor actual de la opción @var{keyword} almacenada
@@ -170,8 +119,6 @@ sección Opciones gráficas.
@end deffn
-
-
@deffn {Función} make_transform ([@var{var1}, @var{var2}, @var{var3}], @var{fx}, @var{fy}, @var{fz})
Devuelve una función que se puede utilizar con la opción @code{transform_xy}
@@ -266,9 +213,7 @@ Dibujando la función sinusoidal:
(%i1) plot2d (sin(x), [x, -%pi, %pi])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting2,8cm}
-@end ifnotinfo
+@altfigure{plotting6,Gráfico de una función explícita}
Si la función crece rápidamente puede ser necesario limitar los
valores del eje vertical:
@@ -283,9 +228,7 @@ plot2d: some values were clipped.
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting3,8cm}
-@end ifnotinfo
+@altfigure{plotting7,Ejemplo del uso de la opción gráfica y}
El aspecto del gráfico puede ser diferente dependiendo del programa
gráfico utilizado. Por ejemplo, cuando se desactiva el marco,
@@ -302,10 +245,6 @@ Xmaxima dibuja los ejes como flechas:
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting1,8cm}
-@end ifnotinfo
-
Gráfico con escala logarítmica:
@c ===beg===
@@ -315,9 +254,7 @@ Gráfico con escala logarítmica:
(%i1) plot2d (exp(3*s), [s, -2, 2], [logy])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting4,8cm}
-@end ifnotinfo
+@altfigure{plotting9,Gráfico con escala logarítmica}
Dibujando funciones especificadas por su nombre:
@@ -337,9 +274,7 @@ $g
(%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting5,8cm}
-@end ifnotinfo
+@altfigure{plotting10,Varias formas de indicar las funciones para un gráfico}
Ejemplo de función paramétrica. Curva de la mariposa:
@@ -351,96 +286,63 @@ Ejemplo de función paramétrica. Curva de la mariposa:
@example
(%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
(%i2) plot2d([parametric, r*sin(t), r*cos(t),
- [t, -8*%pi, 8*%pi], [nticks, 2000]])$
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotting6,8cm}
-@end ifnotinfo
-
-Una circunferencia de dos vueltas y solo siete puntos:
-
-@c ===beg===
-@c plot2d ([parametric, cos(t), sin(t),
-@c [t, -2*%pi, 2*%pi], [nticks, 8]])$
-@c ===end===
-@example
-@group
-(%i1) plot2d ([parametric, cos(t), sin(t),
- [t, -2*%pi, 2*%pi], [nticks, 8]])$
-@end group
+ [t, -8*%pi, 8*%pi]])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting7,8cm}
-@end ifnotinfo
+@altfigure{plotting11,Gráfico de una función paramétrica}
-Dibujo de una función junto con la representación paramétrica de una
-circunferencia. El tamaño del gráfico se ha ajustado con las opciones x
-e y para que la circunferencia no se vea como una elipse. Estos valores
-son aceptables para el terminal Postscript utilizado para producir este
-gráfico, y puede seer necesario adaptar los valores para otros terminales:
+Gráfico de una circunferencia de radio 1, con centro en el origen, junto con
+la función @code{y=-|@var{x}|}. Para que la circunferencia no aparezca como
+una elipse, de usa la opción @code{same_xy} para que la escala sea la misma
+en los dos ejes. También se muestra el uso de la opción @code{nolegend} para
+eliminar la leyenda que identifica las dos funciones.
@c ===beg===
-@c plot2d([[parametric, cos(t), sin(t),
-@c [t,0,2*%pi], [nticks, 80]],
-@c abs(x)], [x,-2,2], [y, -1.5, 1.5])$
+@c plot2d([x^2+y^2=1, -abs(x)], [x, -1.5, 1.5], [y, -2, 2], same_xy,
+@c nolegend);
@c ===end===
@example
@group
-(%i1) plot2d([[parametric, cos(t), sin(t),
- [t,0,2*%pi], [nticks, 80]],
- abs(x)], [x,-2,2], [y, -1.5, 1.5])$
-plot2d: some values were clipped.
+(%i1) plot2d([x^2+y^2=1, -abs(x)], [x, -1.5, 1.5], [y, -2, 2], same_xy,
+ nolegend);
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting8,8cm}
-@end ifnotinfo
+@altfigure{plotting12,Gráfico de una circunferencia usando la misma escala en los dos ejes}
Puntos discretos definiendo separadamente las coordenadas x e y:
@c ===beg===
-@c plot2d ([discrete, [10, 20, 30, 40, 50],
-@c [.6, .9, 1.1, 1.3, 1.4]])$
+@c plot2d ([discrete, makelist(i*%pi, i, 1, 5),
+@c [0.6, 0.9, 0.2, 1.3, 1]])$
@c ===end===
@example
-@group
-(%i1) plot2d ([discrete, [10, 20, 30, 40, 50],
- [.6, .9, 1.1, 1.3, 1.4]])$
-@end group
+(%i1) plot2d ([discrete, makelist(i*%pi, i, 1, 5),
+ [0.6, 0.9, 0.2, 1.3, 1]])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting9,8cm}
-@end ifnotinfo
+@altfigure{plotting14,Gráfico de un conjunto de puntos}
+
-Los mismos puntos del ejemplo anterior, pero definiendo una a una las
-coordenadas y sin segmentos que unan los puntos:
+Gráfico de 200 puntos aleatorios entre 0 y 9:
@c ===beg===
-@c plot2d([discrete, [[10, .6], [20, .9], [30, 1.1],
-@c [40, 1.3], [50, 1.4]]],
-@c [style, points])$
+@c plot2d ([discrete, makelist ( random(10), 200)])$
@c ===end===
@example
@group
-(%i1) plot2d([discrete, [[10, .6], [20, .9], [30, 1.1],
- [40, 1.3], [50, 1.4]]],
- [style, points])$
+(%i1) plot2d ([discrete, makelist ( random(10), 200)])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting10,8cm}
-@end ifnotinfo
+@altfigure{plotting13,Gráfico de 200 puntos aleatorios}
En este ejemplo, se guarda una tabla de tres columnas en el
archivo @code{data.txt}, que luego será leído
para representar las dos últimas columnas:
@c ===beg===
+@c display2d:false$
@c with_stdout ("data.txt", for x:0 thru 10 do
@c print (x, x^2, x^3))$
@c data: read_matrix ("data.txt")$
@@ -448,18 +350,15 @@ para representar las dos últimas columnas:
@c [style,points], [point_type,diamond], [color,red])$
@c ===end===
@example
-(%i1) with_stdout ("data.txt", for x:0 thru 10 do
- print (x, x^2, x^3))$
-(%i2) data: read_matrix ("data.txt")$
-@group
-(%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
+(%i1) display2d:false$
+(%i2) with_stdout ("data.txt", for x:0 thru 10 do
+ print (x, x^2, x^3))$
+(%i3) data: read_matrix ("data.txt")$
+(%i4) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
[style,points], [point_type,diamond], [color,red])$
-@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting11,8cm}
-@end ifnotinfo
+@altfigure{plotting15,Gráfico de puntos leídos de un fichero}
Un gráfico de datos empíricos junto con su modelo
teórico:
@@ -475,25 +374,18 @@ teórico:
@c ===end===
@example
(%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
-@group
(%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
[style, points, lines], [color, red, blue],
[point_type, asterisk],
[legend, "experiment", "theory"],
[xlabel, "pendulum's length (cm)"],
[ylabel, "period (s)"])$
-@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting12,8cm}
-@end ifnotinfo
+@altfigure{plotting16,Ejemplo del uso de varias opciones gráficas}
@end deffn
-
-
-
@deffn {Función} plot3d (@var{expr}, @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
@deffnx {Función} plot3d ([@var{expr_1}, @dots{}, @var{expr_n}], @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
@@ -506,18 +398,20 @@ distintos ángulos.
Ejemplos:
-Representación de una función:
+Gráfico de una función de dos variables:
@c ===beg===
-@c plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2])$
+@c plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
+@c nomesh_lines)$
@c ===end===
@example
-(%i1) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2])$
+@group
+(%i1) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
+ nomesh_lines)$
+@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting13,8cm}
-@end ifnotinfo
+@altfigure{plotting17,Plot of a function of 2 variables}
Uso de la opción z para acotar una función que tiende a infinito
(en este caso, la función tiende a menos infinito en los ejes
@@ -525,163 +419,127 @@ x e y):
@c ===beg===
@c plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
-@c [palette, false], [color, magenta, blue])$
+@c nopalette, [color, magenta])$
@c ===end===
@example
+@group
(%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
- [palette, false], [color, magenta, blue])$
+ nopalette, [color, magenta])$
+@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting14,8cm}
-@end ifnotinfo
+@altfigure{plotting18,Ejemplo del uso de la opción z de plot3d}
Los valores infinitos de z se pueden obviar eligiendo una retícula
que no coincida con las asíntotas; este ejemplo también muestra
-cómo seleccionar las paletas predefinidas, en este caso la número 4:
+cómo seleccionar alterar la paleta de colores y como incluir una barra
+lateral que muestra la correspondencia entre colores y valores de z:
@c ===beg===
-@c plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],
-@c [grid, 29, 29],
-@c [palette, get_plot_option(palette,5)])$
+@c plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29],
+@c [palette, [gradient, red, orange, yellow, green]],
+@c color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
+@c [color_bar_tics, 4])$
@c ===end===
@example
@group
-(%i1) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],
- [grid, 29, 29],
- [palette, get_plot_option(palette,5)])$
+(%i1) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29],
+ [palette, [gradient, red, orange, yellow, green]],
+ color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
+ [color_bar_tics, 4])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting15,8cm}
-@end ifnotinfo
+@altfigure{plotting19,Ejemplo de uso de la opción grid de plot3d}
-Dos superficies en el mismo gráfico, compartiendo el mismo dominio; en
-Gnuplot, ambas superfifies comparten la misma paleta:
+Dos superficies en un mismo gráfico. Si los dominios de las dos superficies
+son diferentes, las dos funciones deben ser colocados en listas separadas,
+cada una con su propio dominio. El dominio por fuera de esas listas
+define el dominio para todo el gráfico.
@c ===beg===
-@c plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
-@c [x, -3, 3], [y, -2, 2]])$
+@c plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]],
+@c 4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
+@c [x, -4, 4], [y, -4, 4])$
@c ===end===
@example
-(%i1) plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
- [x, -3, 3], [y, -2, 2]])$
+(%i1) plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]],
+ 4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
+ [x, -4, 4], [y, -4, 4])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting16,8cm}
-@end ifnotinfo
-
-Las mismas superficies, pero con diferentes dominios; en Xmaxima
-cada superficies usa una paleta diferente, elegida de la lista
-definida por la opción @code{palette}:
-
-@c ===beg===
-@c plot3d ([[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
-@c 4*sin(3*(x^2+y^2))/(x^2+y^2),
-@c [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
-@c ===end===
-@example
-@group
-(%i1) plot3d ([[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
- 4*sin(3*(x^2+y^2))/(x^2+y^2),
- [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
-@end group
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotting17,8cm}
-@end ifnotinfo
+@altfigure{plotting20,Gráfico de dos funciones de dos variables}
La botella de Klein, definida paramétricamente:
@c ===beg===
-@c expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0) - 10.0$
-@c expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
-@c expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
+@c expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
+@c expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
+@c expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
@c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
-@c [y, -%pi, %pi], [grid, 40, 40])$
+@c [y, -%pi, %pi], [grid, 50, 50])$
@c ===end===
@example
-(%i1) expr_1:5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)-10.0$
-(%i2) expr_2:-5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
-(%i3) expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
-@group
+(%i1) expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
+(%i2) expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
+(%i3) expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
(%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
- [y, -%pi, %pi], [grid, 40, 40])$
-@end group
+ [y, -%pi, %pi], [grid, 50, 50])$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting18,8cm}
-@end ifnotinfo
+@altfigure{plotting21,Gráfico de la botella de Klein}
Gráfico de un armónico esférico, utilizando las transformaciones
predefinidas @code{spherical_to_xyz}:
@c ===beg===
-@c plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
-@c [phi, 0, 2*%pi],
-@c [transform_xy, spherical_to_xyz], [grid,30,60])$
+@c plot3d (sin(2*theta)*cos(phi), [theta,0,%pi], [phi,0,2*%pi],
+@c [transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
@c ===end===
@example
-@group
-(%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
- [phi, 0, 2*%pi],
- [transform_xy, spherical_to_xyz], [grid,30,60])$
-@end group
+(%i1) plot3d (sin(2*theta)*cos(phi), [theta,0,%pi], [phi,0,2*%pi],
+ [transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting19,8cm}
-@end ifnotinfo
+@altfigure{plotting22,Gráfico de un armónico esférico}
-Uso de la transformación predefinida @code{polar_to_xy}. Este
-ejemplo también muestra cómo eliminar el marco y la leyenda:
+Uso de la transformación predefinida @code{polar_to_xy} para transformar
+coordenadas cilíndricas para rectangulares. Este ejemplo también muestra
+cómo eliminar el marco y la leyenda:
@c ===beg===
-@c plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
-@c [grid, 12, 80],
-@c [transform_xy, polar_to_xy], [box, false],
-@c [legend,false])$
+@c plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], nobox,
+@c nolegend, [grid, 12, 80], [transform_xy, polar_to_xy])$
@c ===end===
@example
@group
-(%i1) plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
- [grid, 12, 80],
- [transform_xy, polar_to_xy], [box, false],
- [legend,false])$
+(%i1) plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], nobox,
+ nolegend, [grid, 12, 80], [transform_xy, polar_to_xy])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting20,8cm}
-@end ifnotinfo
+@altfigure{plotting23,Ejemplo del uso de la opción polar_to_xy de plot3d}
-Dibujo de una esfera utilizando la transformación esférica. En
-Xmaxima, los tres ejes utilizan escalas proporcionales, manteniendo
-la forma simétrica de la esfera. Se utiliza una paleta con color
-degradado:
+Dibujo de una esfera utilizando la transformación de coordenadas esféricas
+para rectangulares. La opción @code{same_xyz} se usa para que la escala
+de los tres ejes sea la misma, evitando que la esfera parezca un elipsoide.
+Cuando se usan transformaciones, no es conveniente eliminar las líneas de
+la superficie, para evitar errores en Gnuplot.
@c ===beg===
-@c plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
-@c [plot_format,xmaxima],
-@c [transform_xy, spherical_to_xyz],
-@c [palette,[value,0.65,0.7,0.1,0.9]])$
+@c plot3d ( 5, [theta,0,%pi], [phi,0,2*%pi], same_xyz, nolegend,
+@c [transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
+@c [palette,[gradient,"#1b1b4e", "#8c8cf8"]])$
@c ===end===
@example
@group
-(%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
- [plot_format,xmaxima],
- [transform_xy, spherical_to_xyz],
- [palette,[value,0.65,0.7,0.1,0.9]])$
+(%i1) plot3d ( 5, [theta,0,%pi], [phi,0,2*%pi], same_xyz, nolegend,
+ [transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
+ [palette,[gradient,"#1b1b4e", "#8c8cf8"]])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting21,8cm}
-@end ifnotinfo
+@altfigure{plotting24,Example using option xpherical_to_xyz of plot3d}
Definición de una función con dos variables utilizando una matriz.
Nótese la comilla simple en la definición de la función para
@@ -689,47 +547,37 @@ prevenir que @code{plot3d} falle al detectar que la matriz necesita
índices enteros:
@c ===beg===
-@c M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
-@c [1, 2, 3, 3])$
+@c M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
@c f(x, y) := float('M [round(x), round(y)])$
-@c plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
+@c plot3d (f(x,y), [x,1,4], [y,1,4], [grid,3,3], nolegend)$
@c ===end===
@example
-(%i1) M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
- [1, 2, 3, 3])$
+(%i1) M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
(%i2) f(x, y) := float('M [round(x), round(y)])$
-@group
-(%i3) plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
-apply: subscript must be an integer; found: round(x)
-@end group
+(%i3) plot3d (f(x,y), [x,1,4], [y,1,4], [grid,3,3], nolegend)$
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting22,8cm}
-@end ifnotinfo
+@altfigure{plotting25,Representación gráfica en 3D de los valores de una matriz}
Asignando a la opción @code{elevation} el valor cero, una superficie
puede verse como una aplicación en la que cada color representa un nivel
-diferente. La opción @code{colorbox} se utiliza para mostrar la correspondencia
-entre colores y niveles; las líneas de la retícula
-se desactivan para facilitar la visualización de los colores:
+diferente.
@c ===beg===
-@c plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
-@c [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
-@c [colorbox, true], [grid, 150, 150])$
+@c plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""],
+@c [mesh_lines_color,false], [elevation,0], [azimuth,0],
+@c color_bar, [grid,80,80], noztics, [color_bar_tics,1])$
@c ===end===
@example
@group
-(%i1) plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
- [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
- [colorbox, true], [grid, 150, 150])$
+(%i1) plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""],
+ [mesh_lines_color,false], [elevation,0], [azimuth,0],
+ color_bar, [grid,80,80], noztics, [color_bar_tics,1])$
@end group
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/plotting23,8cm}
-@end ifnotinfo
+@altfigure{plotting26,Representación gráfica en 2D de los valores de una matriz}
+
Véase también la sección Opciones gráficas.
diff --git a/doc/info/es/graphs.texi b/doc/info/es/graphs.texi
index d14a1ecd1..16665cdb2 100644
--- a/doc/info/es/graphs.texi
+++ b/doc/info/es/graphs.texi
@@ -238,11 +238,9 @@ Ejemplo:
(%i2) grid : graph_product(path_graph(3), path_graph(4))$
(%i3) draw_graph(grid)$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs01,6cm}
-@end ifhtml
+@smallfigure{graphs01, Producto directo de dos grafos}
+@end deffn
@deffn {Función} graph_union (@var{g1}, @var{g1})
Devuelve la unión (suma) de los grafos @var{g1} y @var{g2}.
@@ -551,9 +549,7 @@ Ejemplo:
(%o3) [[6, 7], [4, 5, 6], [1, 2], [2, 3, 4]]
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs13,6cm}
-@end ifhtml
+@smallfigure{graphs13, Grafo con vértices biconectados}
@end deffn
@deffn {Función} bipartition (@var{gr})
@@ -575,11 +571,10 @@ Ejemplo:
(%o3) [[8, 12, 6, 10, 0, 2, 4], [13, 5, 11, 7, 9, 1, 3]]
(%i4) draw_graph(h, show_vertices=A, program=circular)$
@end example
+
+@smallfigure{graphs02, Bipartición de los vértices de un grafo de Heawood}
@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs02,6cm}
-@end ifhtml
@deffn {Función} chromatic_index (@var{gr})
Devuelve el índice cromático del grafo @var{gr}.
@@ -963,11 +958,9 @@ Ejemplo:
(%o3) [7, 3, 2, 6, 4, 0, 1, 5, 7]
(%i4) draw_graph(c, show_edges=vertices_to_cycle(hc))$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs03,6cm}
-@end ifhtml
+@smallfigure{graphs03, Ciclo de Hamilton de un grafo cúbico}
+@end deffn
@deffn {Función} hamilton_path (@var{gr})
Devuelve el camino de Hamilton del grafo @var{gr} o una lista vacía
@@ -988,11 +981,9 @@ Ejemplo:
(%o3) [0, 5, 7, 2, 1, 6, 8, 3, 4, 9]
(%i4) draw_graph(p, show_edges=vertices_to_path(hp))$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs04,6cm}
-@end ifhtml
+@smallfigure{graphs04, Camino de Hamilton de un grafo de Petersen}
+@end deffn
@deffn {Función} isomorphism (@var{gr1}, @var{gr2})
Devuelve un isomorfismo entre los grafos/digrafos @var{gr1} y @var{gr2}.
@@ -1423,11 +1414,9 @@ Ejemplo:
(%o3) [0, 3, 5, 9, 10, 11, 18, 19]
(%i4) draw_graph(d, show_vertices=mi)$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs05,6cm}
-@end ifhtml
+@smallfigure{graphs05, Conjunto maximal independiente de un grafo dodecaédrico}
+@end deffn
@deffn {Función} max_matching (@var{gr})
Devuelve un conjunto maximal independiente de aristas del grafo @var{gr}.
@@ -1448,11 +1437,9 @@ Ejemplo:
[11, 16], [0, 15], [3, 4], [1, 2]]
(%i4) draw_graph(d, show_edges=m)$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs06,6cm}
-@end ifhtml
+@smallfigure{graphs06, Conjunto maximal independiente de aristas de un grafo dodecaédrico}
+@end deffn
@deffn {Función} min_degree (@var{gr})
Devuelve el grado mínimo de los vértices del grafo @var{gr} y un
@@ -1512,11 +1499,9 @@ Ejemplo:
(%i3) t : minimum_spanning_tree(g)$
(%i4) draw_graph(g, show_edges=edges(t))$
@end example
-@end deffn
-@ifhtml
-@image{@value{figuresfolder}/graphs07,6cm}
-@end ifhtml
+@smallfigure{graphs07, Grafo de expansión mínimo de un grafo rectangular}
+@end deffn
@deffn {Función} neighbors (@var{v}, @var{gr})
Devuelve la lista de los vecinos del vértice @var{v} del grafo @var{gr}.
@@ -1721,12 +1706,9 @@ Ejemplo:
(%o3) [0, 1, 19, 13, 7]
(%i4) draw_graph(d, show_edges=vertices_to_path(path))$
@end example
-@end deffn
-
-@ifhtml
-@image{@value{figuresfolder}/graphs08,6cm}
-@end ifhtml
+@smallfigure{graphs08, Camino más corto entre dos vértices de un grafo dodecaédrico}
+@end deffn
@deffn {Función} shortest_weighted_path (@var{u}, @var{v}, @var{gr})
Devuelve la longitud del camino más corto ponderado y el propio camino
@@ -2251,9 +2233,7 @@ Ejemplo 1:
vertex_size=0)$
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs09,6cm}
-@end ifhtml
+@smallfigure{graphs09, Ejemplo de uso de draw_graph para dibujar un grafo}
Ejemplo 2:
@@ -2296,9 +2276,7 @@ Ejemplo 2:
)$
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs10,6cm}
-@end ifhtml
+@smallfigure{graphs10, Ejemplo de uso de draw_graph para dibujar un grafo}
Ejemplo 3:
@@ -2331,9 +2309,7 @@ Ejemplo 3:
)$
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs11,6cm}
-@end ifhtml
+@smallfigure{graphs11, Ejemplo de uso de draw_graph para dibujar un grafo}
Ejemplo 4:
@@ -2386,9 +2362,7 @@ Ejemplo 4:
)$
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs12,6cm}
-@end ifhtml
+@smallfigure{graphs12, Ejemplo de uso de draw_graph para dibujar un grafo}
Ejemplo 5:
@@ -2405,9 +2379,7 @@ Ejemplo 5:
(%o3) done
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs14,6cm}
-@end ifhtml
+@smallfigure{graphs14, Ejemplo de uso de draw_graph para dibujar un grafo}
Ejemplo 6:
@@ -2426,9 +2398,7 @@ Ejemplo 6:
(%o3) done
@end example
-@ifhtml
-@image{@value{figuresfolder}/graphs15,6cm}
-@end ifhtml
+@smallfigure{graphs15, Ejemplo de uso de draw_graph para dibujar un grafo}
@end deffn
diff --git a/doc/info/es/include-maxima.texi.in b/doc/info/es/include-maxima.texi.in
index d01dd2677..6d267f418 100644
--- a/doc/info/es/include-maxima.texi.in
+++ b/doc/info/es/include-maxima.texi.in
@@ -74,7 +74,7 @@ conceptos básicos de Maxima, aunque todavía no
forman parte de la versión inglesa de referencia.
@sp 1
-Mario Rodríguez Riotorto. (@code{mario ARROBA edu PUNTO xunta PUNTO es})
+Traductores: Mario Rodríguez Riotorto. Juan Pablo Romero. Jaime E. Villate.
@end titlepage
@@ -83,6 +83,21 @@ Mario Rodríguez Riotorto. (@code{mario ARROBA edu PUNTO xunta PUNTO es})
@include category-macros.texi
+@c figure macros redefinition
+@ifhtml
+@set figuresfolder ../figures
+@macro figure {file}
+@image{@value{figuresfolder}/\file\,,,, .png}
+@end macro
+@macro altfigure {file, text}
+@image{@value{figuresfolder}/\file\,,,\text\,.png}
+@end macro
+@macro smallfigure {file, text}
+@image{@value{figuresfolder}/\file\,,,\text\,.png}
+@end macro
+@end ifhtml
+@c end of figure macros redefinition
+
@ifnottex
@node Top, Introducción a Maxima, (dir), (dir)
@top
@@ -122,7 +137,7 @@ conceptos básicos de Maxima, aunque todavía no
forman parte de la versión inglesa de referencia.
@sp 1
-Mario Rodríguez Riotorto. (@code{mario ARROBA edu PUNTO xunta PUNTO es})
+Traductores: Mario Rodríguez Riotorto, Juan Pablo Romero y Jaime E. Villate.
@end ifnottex
diff --git a/doc/info/es/orthopoly.texi b/doc/info/es/orthopoly.texi
index 45b6b695c..daa05b570 100644
--- a/doc/info/es/orthopoly.texi
+++ b/doc/info/es/orthopoly.texi
@@ -552,9 +552,7 @@ contiene un polinomio de Legendre:
(%o1)
@end example
-@ifnotinfo
-@image{@value{figuresfolder}/orthopoly1,8cm}
-@end ifnotinfo
+@altfigure{orthopoly1, Gráfico del polinomio de Legrende de quinto grado}
La expresión @code{legendre_p (5, x)} se comenta @i{completamente}, que no es
lo mismo que comentar el nombre de la función, como en
diff --git a/doc/info/es/plotdf.texi b/doc/info/es/plotdf.texi
deleted file mode 100644
index 80f8ebdeb..000000000
--- a/doc/info/es/plotdf.texi
+++ /dev/null
@@ -1,320 +0,0 @@
-@c English version: 2011-03-23
-@menu
-* Introducción a plotdf::
-* Funciones y variables para plotdf::
-@end menu
-
-@node Introducción a plotdf, Funciones y variables para plotdf, plotdf, plotdf
-@section Introducción a plotdf
-
-La función @code{plotdf} crea un gráfico del campo de direcciones para una
-Ecuación Diferencial Ordinaria (EDO) de primer orden, o para un sistema de
-dos EDO's autónomas, de primer orden.
-
-Como se trata de un paquete adicional, para poder usarlo debe cargarlo
-primero con el comando @code{load("plotdf")}. También es necesario que
-Xmaxima esté instalado, a pesar de que ejecute Maxima desde otra
-interface diferente.
-
-Para dibujar el campo de direcciones de una única EDO, esa ecuación
-deberá escribirse en la forma siguiente:
-@ifnottex
-@example
- dy
- -- = F(x,y)
- dx
-@end example
-@end ifnottex
-@tex
-$${{dy}\over{dx}} = F(x,y)$$
-@end tex
-
-y la función @var{F} será dada como argumento para el comando
-@code{plotdf}. La variable independiente tiene que ser siempre @var{x} y la
-variable dependiente @var{y}. A esas dos variables no podrá estar asociado
-ningún valor numérico.
-
-Para dibujar el campo de direcciones de un sistema autónomo de dos EDO's,
-Las dos ecuaciones deben ser escritas en la forma siguiente
-@ifnottex
-@example
- dx dy
- -- = G(x,y) -- = F(x,y)
- dt dt
-@end example
-@end ifnottex
-@tex
-$${{dx}\over{dt}} = G(x,y) \qquad {{dy}\over{dt}} = F(x,y)$$
-@end tex
-
-y el argumento para el comando @code{plotdf} será una lista con dos
-expresiones para las funciones @var{F} y @var{G}.
-
-Cuando se trabaja con una única ecuación, @code{plotdf} asume
-implícitamente que @code{x=t} y @code{G(x,y)=1}, transformando la
-ecuación en un sistema autónomo con dos ecuaciones.
-
-@node Funciones y variables para plotdf, , Introducción a plotdf, plotdf
-@section Funciones y variables para plotdf
-
-@deffn {Function} plotdf (@var{dydx},...opciones...)
-@deffnx {Function} plotdf (@code{[}@var{dxdt},@var{dydt}@code{]},...opciones...)
-
-Dibuja un campo de direcciones en dos dimensiones @var{x} y @var{y}.
-
-@var{dydx}, @var{dxdt} y @var{dydt} son expresiones que dependen de @var{x} y
-@var{y}. Además de esas dos variables, las dos expresiones pueden depender de
-un conjunto de parámetros, con valores numéricos que son dados por medio
-de la opción @code{parameters} (la sintaxis de esa opción se explica mas al
-frente), o con un rango de posibles valores definidos con la opción
-@var{sliders}.
-
-Varias otras opciones se pueden incluir dentro del comando, o
-seleccionadas en el menú. Haciendo click en un punto del gráfico se
-puede hacer que sea dibujada la curva integral que pasa por ese punto;
-lo mismo puede ser hecho dando las coordenadas del punto con la opción
-@code{trajectory_at} dentro del comando plotdf. La dirección de
-integración se puede controlar con la opción @code{direction}, que
-acepta valores de @emph{forward}, @emph{backward} ou @emph{both}. El
-número de pasos realizado en la integración numérica se controla
-con la opción @code{nsteps} y el incremento del tiempo en cada paso
-con la opción @code{tstep}. Se usa el método de Adams Moulton para
-hacer la integración numérica; también es posible cambiar para el
-método de Runge-Kutta de cuarto orden con ajuste de pasos.
-
-@b{Menú de la ventana del gráfico:}
-
-El menú de la ventana gráfica dispone de las siguientes opciones:
-@emph{Zoom}, que permite cambiar el comportamiento del ratón, de
-manera que hará posible el hacer zoom en la región del gráfico
-haciendo clic con el botón izquierdo. Cada clic agranda la imagen
-manteniendo como centro de la misma el punto sobre el cual se ha hecho
-clic. Manteniendo pulsada la tecla @key{Shift} mientras se hace clic,
-retrocede al tamaño anterior. Para reanudar el cálculo de las
-trayectorias cuando se hace clic, seleccine la opción @emph{Integrate}
-del menú.
-
-La opción @emph{Config} del menú se puede utilizar para cambiar
-la(s) EDO(S) y algunos otros ajustes. Después de hacer los cambios, se
-debe utilizar la opción @emph{Replot} para activar los nuevos ajustes.
-Si en el campo @emph{Trajectory at} del menú de diálogo de
-@emph{Config} se introducen un par de coordenadas y luego se pulsa la
-tecla @key{retorno}, se mostrará una nueva curva integral, además de
-las ya dibujadas. Si se selecciona la opción @emph{Replot}, sólo se
-mostrará la última curva integral seleccionada.
-
-Manteniendo pulsado el botón derecho del ratón mientras se mueve el
-cursor, se puede arrastrar el gráfico horizontal y verticalmente.
-Otros parámetros, como pueden ser el número de pasos, el valor
-inicial de @var{t}, las coordenadas del centro y el radio, pueden
-cambiarse en el submenú de la opción @emph{Config}.
-
-Con la opción @emph{Save}, se puede obtener una copia del gráfico en
-una impresora Postscript o guardarlo en un fichero Postscript. Para
-optar entre la impresión o guardar en fichero, se debe seleccionar
-@emph{Print Options} en la ventana de diálogo de @emph{Config}. Una
-vez cubiertos los campos de la ventana de diálogo de @emph{Save},
-será necesario seleccionar la opción @emph{Save} del primer menú
-para crear el fichero o imprimir el gráfico.
-
-@b{Opciones gráficas:}
-
-La función @code{plotdf} admite varias opciones, cada una de las cuales
-es una lista de dos o más elementos. El primer elemento es el nombre de
-la opción, y el resto está formado por el valor o valores asignados
-a dicha opción.
-
-La función @code{plotdf} reconoce las siguientes opciones:
-
-@itemize @bullet
-@item
-@dfn{tstep} establece la amplitud de los incrementos en la
-variable independiente @var{t}, utilizados para calcular la curva
-integral. Si se aporta sólo una expresión @var{dydx}, la variable
-@var{x} será directamente proporcional a @var{t}.
-El valor por defecto es 0.1.
-
-@item
-@dfn{nsteps} establece el número de pasos de longitud
-@code{tstep} que se utilizarán en la variable independiente para
-calcular la curva integral.
-El valor por defecto es 100.
-
-@item
-@dfn{direction} establece la dirección de la variable
-independiente que será seguida para calcular una curva integral.
-Valores posibles son: @code{forward}, para hacer que la variable
-independiente aumente @code{nsteps} veces, con incrementos @code{tstep};
-@code{backward}, para hacer que la variable independiente
-disminuya; @code{both}, para extender la curva integral @code{nsteps}
-pasos hacia adelante y @code{nsteps} pasos hacia atrás.
-Las palabras @code{right} y @code{left} se pueden utilizar como
-sinónimos de @code{forward} y @code{backward}.
-El valor por defecto es @code{both}.
-
-@item
-@dfn{tinitial} establece el valor inicial de la variable
-@var{t} utilizado para calcular curvas integrales. Puesto que las
-ecuaciones diferenciales son autónomas, esta opción sólo
-aparecerá en los gráficos de las curvas como funciones de @var{t}.
-El valor por defecto es 0.
-
-@item
-@dfn{versus_t} se utiliza para crear una segunda ventana
-gráfica, con el gráfico de una curva integral, como dos funciones
-@var{x}, @var{y}, de variable independiente @var{t}. Si se le da a
-@code{versus_t} cualquier valor diferente de 0, se mostrará la
-segunda ventana gráfica, la cual incluye otro menú, similar
-al de la ventana principal.
-El valor por defecto es 0.
-
-@item
-@dfn{trajectory_at} establece las coordenadas @var{xinitial}
-y @var{yinitial} para el extremo inicial de la curva integral.
-No tiene asignado valor por defecto.
-
-@item
-@dfn{parameters} establece una lista de parámetros,
-junto con sus valores numéricos, que son utilizados en la
-definición de la ecuación diferencial. Los nombres de los
-parámetros y sus valores deben escribirse en formato de cadena
-de caracteres como una secuencia de pares @code{nombre=valor}
-separados por comas.
-
-@item
-@dfn{sliders} establece una lista de parámetros que
-se cambiarán interactivamente utilizando barras de deslizamiento,
-así como los rangos de variación de dichos parámetros.
-Los nombres de los parámetros y sus rangos deben escribirse en formato
-de cadena de caracteres como una secuencia de pares @code{nombre=min:max}
-separados por comas.
-
-@item
-@dfn{xfun} establece una cadena de caracteres con funciones
-de @var{x} separadas por puntos y comas para ser representadas por
-encima del campo de direcciones. Estas funciones serán interpretadas
-por Tcl, no por Maxima.
-
-@item
-@dfn{xradius} es la mitad de la longitud del rango de valores
-a representar en la dirección x.
-El valor por defecto es 10.
-
-@item
-@dfn{yradius} es la mitad de la longitud del rango de valores
-a representar en la dirección y.
-El valor por defecto es 10.
-
-@item
-@dfn{xcenter} es la coordenada x del punto situado en el centro
-del gráfico.
-El valor por defecto es 0.
-
-@item
-@dfn{ycenter} es la coordenada y del punto situado en el centro
-del gráfico.
-El valor por defecto es 0.
-
-@item
-@dfn{width} establece el ancho de la ventana gráfica en
-píxeles.
-El valor por defecto es 500.
-
-@item
-@dfn{height} establece la altura de la ventana gráfica en
-píxeles.
-El valor por defecto es 500.
-
-@end itemize
-
-@b{Ejemplos:}
-
-NOTA: Dependiendo de la interface que se use para Maxima, las funciones
-que usan @code{openmath}, incluida @code{plotdf}, pueden desencadenar un
-fallo si terminan en punto y coma, en vez del símbolo de
-dólar. Para evitar problemas, se usará el símbolo de
-dólar en todos ejemplos.
-
-@itemize @bullet
-@item
-Para mostrar el campo de direcciones de la ecuación diferencial
-@math{y' = exp(-x) + y} y la solución que pasa por @math{(2, -0.1)}:
-@example
-(%i1) load("plotdf")$
-
-(%i2) plotdf(exp(-x)+y,[trajectory_at,2,-0.1]);
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf1,8cm}
-@end ifnotinfo
-
-@item
-Para mostrar el campo de direcciones de la ecuación
-@math{diff(y,x) = x - y^2} y la solución de condición
-inicial @math{y(-1) = 3}, se puede utilizar la sentencia:
-@example
-(%i3) plotdf(x-y^2,[xfun,"sqrt(x);-sqrt(x)"],
- [trajectory_at,-1,3], [direction,forward],
- [yradius,5],[xcenter,6]);
-@end example
-El gráfico también muestra la función @math{y = sqrt(x)}.
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf2,8cm}
-@end ifnotinfo
-
-@item
-El siguiente ejemplo muestra el campo de direcciones de un oscilador
-armónico, definido por las ecuaciones @math{dx/dt = y} y
-@math{dy/dt = -k*x/m}, y la curva integral que pasa por
-@math{(x,y) = (6,0)}, con una barra de deslizamiento que
-permitirá cambiar el valor de @math{m} interactivamente
-(@math{k} permanece fijo a 2):
-@example
-(%i4) plotdf([y,-k*x/m],[parameters,"m=2,k=2"],
- [sliders,"m=1:5"], [trajectory_at,6,0]);
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf3,8cm}
-@end ifnotinfo
-
-@item
-Para representar el campo de direcciones de la ecuación de
-Duffing, @math{m*x''+c*x'+k*x+b*x^3 = 0}, se introduce la
-variable @math{y=x'} y se hace:
-@example
-(%i5) plotdf([y,-(k*x + c*y + b*x^3)/m],
- [parameters,"k=-1,m=1.0,c=0,b=1"],
- [sliders,"k=-2:2,m=-1:1"],[tstep,0.1]);
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf4,8cm}
-@end ifnotinfo
-
-@item
-El campo de direcciones de un péndulo amortiguado,
-incluyendo la solución para condiciones iniciales dadas,
-con una barra de deslizamiento que se puede utilizar para
-cambiar el valor de la masa, @math{m}, y con el gráfico
-de las dos variables de estado como funciones del tiempo:
-
-@example
-(%i6) plotdf([y,-g*sin(x)/l - b*y/m/l],
- [parameters,"g=9.8,l=0.5,m=0.3,b=0.05"],
- [trajectory_at,1.05,-9],[tstep,0.01],
- [xradius,6],[yradius,14],
- [xcenter,-4],[direction,forward],[nsteps,300],
- [sliders,"m=0.1:1"], [versus_t,1]);
-@end example
-
-@ifnotinfo
-@image{@value{figuresfolder}/plotdf5,8cm}@image{@value{figuresfolder}/figures/plotdf6,8cm}
-@end ifnotinfo
-
-@end itemize
-
-@end deffn
-
-----------------------------------------------------------------------
Summary of changes:
doc/info/es/Introduction.es.texi | 12 +-
doc/info/es/Numerical.es.texi | 24 +--
doc/info/es/Plotting.es.texi | 386 +++++++++++--------------------------
doc/info/es/graphs.texi | 76 +++-----
doc/info/es/include-maxima.texi.in | 19 +-
doc/info/es/orthopoly.texi | 4 +-
doc/info/es/plotdf.texi | 320 ------------------------------
7 files changed, 169 insertions(+), 672 deletions(-)
delete mode 100644 doc/info/es/plotdf.texi
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-25 14:54:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via bee286fe9e5b1cc8c6b99b9037ab1050364bd2b7 (commit)
via c93b81f6fa931e2ce811c876ebe5287f8ad116d6 (commit)
from a50513aa4343ded8d36d12f16373304010b8d8a5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bee286fe9e5b1cc8c6b99b9037ab1050364bd2b7
Merge: c93b81f6f a50513aa4
Author: villate <vi...@fe...>
Date: Mon Aug 25 15:54:28 2025 +0100
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code
commit c93b81f6fa931e2ce811c876ebe5287f8ad116d6
Author: villate <vi...@fe...>
Date: Mon Aug 25 15:53:09 2025 +0100
Reduces the size of small images in the PDF version of the manual.
diff --git a/doc/info/category-macros.texi.in b/doc/info/category-macros.texi.in
index 2768b2568..808873387 100644
--- a/doc/info/category-macros.texi.in
+++ b/doc/info/category-macros.texi.in
@@ -276,7 +276,7 @@
@end ifhtml
@iftex
@macro smallfigure {file, text}
-@center @image{@value{figuresfolder}/\file\, 10cm, , \text\}
+@center @image{@value{figuresfolder}/\file\, 6cm, , \text\}
@end macro
@end iftex
@ifinfo
-----------------------------------------------------------------------
Summary of changes:
doc/info/category-macros.texi.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 14:51:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, rtoy-polynomials-update-examples has been created
at c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 14:47:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via a50513aa4343ded8d36d12f16373304010b8d8a5 (commit)
via d87816d205054b62dfa566c4950029bb6a182117 (commit)
via c1a14751e15eef5e5267ab23210cbb6f5cd8a047 (commit)
via d3ad02dd11f37dabe40b414df62d5a60214c2959 (commit)
via ba77ba38016dc94e10d1d2102a9b67302ca7b8f4 (commit)
via e8720d15b1ef1dca39d6abe61c7cd7f33555da43 (commit)
from e9d6f170cdb98656288306ff539f46e40ecfa9dc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a50513aa4343ded8d36d12f16373304010b8d8a5
Merge: c1a14751e d87816d20
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 07:47:33 2025 -0700
Merge branch 'rtoy-database-update-examples'
-----------------------------------------------------------------------
Summary of changes:
doc/info/Database.texi | 429 ++++++++++++++++++++++++++++++++++++++++++-------
doc/info/Plotting.texi | 156 +++++++++++-------
2 files changed, 473 insertions(+), 112 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 14:45:42
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, rtoy-database-update-examples has been created
at d87816d205054b62dfa566c4950029bb6a182117 (commit)
- Log -----------------------------------------------------------------
commit d87816d205054b62dfa566c4950029bb6a182117
Merge: e8720d15b e9d6f170c
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 07:41:12 2025 -0700
Merge branch 'master' into rtoy-database-update-examples
commit e8720d15b1ef1dca39d6abe61c7cd7f33555da43
Author: Raymond Toy <toy...@gm...>
Date: Sun Aug 24 13:49:52 2025 -0700
Run update_examples to regenerate examples
Also some examples were missing the code to autogenerate them. Add
the code in.
This also allows syntax highlighting if enabled.
diff --git a/doc/info/Database.texi b/doc/info/Database.texi
index 6e4891829..aaf3940ea 100644
--- a/doc/info/Database.texi
+++ b/doc/info/Database.texi
@@ -33,15 +33,23 @@ Example:
@c xx~yy`@ + @yy`xx + `xx@@yy~;
@c listofvars (%);
@c ===end===
-@example
+@example maxima
+@group
(%i1) xx\~yy\`\@@ : 1729;
(%o1) 1729
+@end group
+@group
(%i2) declare ("~`@@", alphabetic);
(%o2) done
+@end group
+@group
(%i3) xx~yy`@@ + @@yy`xx + `xx@@@@yy~;
(%o3) `xx@@@@yy~ + @@yy`xx + 1729
+@end group
+@group
(%i4) listofvars (%);
(%o4) [@@yy`xx, `xx@@@@yy~]
+@end group
@end example
@opencatbox{Categories:}
@@ -63,18 +71,26 @@ when the symbol @var{x} is evaluated unbound.
@c aa : 1234;
@c aa + bb;
@c ===end===
-@example
+evaluation: unbound variable aa
+ -- an error. To debug this try: debugmode(true);
+@example maxima
+@group
(%i1) aa + bb;
(%o1) bb + aa
+@end group
+@group
(%i2) declare (aa, bindtest);
(%o2) done
+@end group
(%i3) aa + bb;
-aa unbound variable
- -- an error. Quitting. To debug this try debugmode(true);
+@group
(%i4) aa : 1234;
(%o4) 1234
+@end group
+@group
(%i5) aa + bb;
(%o5) bb + 1234
+@end group
@end example
@end defvr
@@ -94,15 +110,29 @@ See @mref{constantp} and @mrefdot{declare}
Example:
-@example
+@c ===beg===
+@c declare(c, constant);
+@c constantp(c);
+@c c : x;
+@c constantp(c);
+@c ===end===
+@example maxima
+@group
(%i1) declare(c, constant);
(%o1) done
+@end group
+@group
(%i2) constantp(c);
(%o2) true
+@end group
+@group
(%i3) c : x;
(%o3) x
+@end group
+@group
(%i4) constantp(c);
(%o4) false
+@end group
@end example
@opencatbox{Categories:}
@@ -140,22 +170,35 @@ Examples:
@c constantp (exp (x));
@c constantp (foo (x) + bar (%e) + baz (2));
@c ===end===
-@example
+@example maxima
+@group
(%i1) constantp (7 * sin(2));
-(%o1) true
+(%o1) true
+@end group
+@group
(%i2) constantp (rat (17/29));
-(%o2) true
+(%o2) true
+@end group
+@group
(%i3) constantp (%pi * sin(%e));
-(%o3) true
+(%o3) true
+@end group
+@group
(%i4) constantp (exp (x));
-(%o4) false
+(%o4) false
+@end group
+@group
(%i5) declare (x, constant);
-(%o5) done
+(%o5) done
+@end group
+@group
(%i6) constantp (exp (x));
-(%o6) true
+(%o6) true
+@end group
+@group
(%i7) constantp (foo (x) + bar (%e) + baz (2));
-(%o7) false
-(%i8)
+(%o7) false
+@end group
@end example
@opencatbox{Categories:}
@@ -337,15 +380,29 @@ See also @mref{declare} for more properties.
Example:
-@example
+@c ===beg===
+@c assume(a > b);
+@c is(f(a) > f(b));
+@c declare(f, increasing);
+@c is(f(a) > f(b));
+@c ===end===
+@example maxima
+@group
(%i1) assume(a > b);
(%o1) [a > b]
+@end group
+@group
(%i2) is(f(a) > f(b));
(%o2) unknown
+@end group
+@group
(%i3) declare(f, increasing);
(%o3) done
+@end group
+@group
(%i4) is(f(a) > f(b));
(%o4) true
+@end group
@end example
@opencatbox{Categories:}
@@ -368,15 +425,29 @@ See also @mref{declare} and @mrefdot{askinteger}
Example:
-@example
+@c ===beg===
+@c declare(n, even);
+@c askinteger(n, even);
+@c askinteger(n);
+@c evenp(n);
+@c ===end===
+@example maxima
+@group
(%i1) declare(n, even);
(%o1) done
+@end group
+@group
(%i2) askinteger(n, even);
(%o2) yes
+@end group
+@group
(%i3) askinteger(n);
(%o3) yes
+@end group
+@group
(%i4) evenp(n);
(%o4) false
+@end group
@end example
@opencatbox{Categories:}
@@ -418,10 +489,16 @@ nor the negation of @var{f} can be established.
See also @mref{declare} and @mrefdot{features}
-@example
+@c ===beg===
+@c declare (j, even)$
+@c featurep (j, integer);
+@c ===end===
+@example maxima
(%i1) declare (j, even)$
+@group
(%i2) featurep (j, integer);
-(%o2) true
+(%o2) true
+@end group
@end example
@opencatbox{Categories:}
@@ -474,13 +551,19 @@ Example:
@c declare (x, FOO);
@c featurep (x, FOO);
@c ===end===
-@example
+@example maxima
+@group
(%i1) declare (FOO, feature);
(%o1) done
+@end group
+@group
(%i2) declare (x, FOO);
(%o2) done
+@end group
+@group
(%i3) featurep (x, FOO);
(%o3) true
+@end group
@end example
@opencatbox{Categories:}
@@ -514,11 +597,14 @@ See also @mref{put} and @mrefdot{qput}
@c typeof (2*%e + x*%pi);
@c typeof (2*%e + %pi);
@c ===end===
-@example
+@example maxima
+@group
(%i1) put (%e, 'transcendental, 'type);
(%o1) transcendental
+@end group
(%i2) put (%pi, 'transcendental, 'type)$
(%i3) put (%i, 'algebraic, 'type)$
+@group
(%i4) typeof (expr) := block ([q],
if numberp (expr)
then return ('algebraic),
@@ -527,11 +613,16 @@ See also @mref{put} and @mrefdot{qput}
q: get (expr, 'type),
if q=false
then errcatch (error(expr,"is not numeric.")) else q)$
+@end group
+@group
(%i5) typeof (2*%e + x*%pi);
x is not numeric.
(%o5) [[transcendental, []], [algebraic, transcendental]]
+@end group
+@group
(%i6) typeof (2*%e + %pi);
(%o6) [transcendental, [algebraic, transcendental]]
+@end group
@end example
@opencatbox{Categories:}
@@ -552,13 +643,24 @@ See also @mrefdot{declare}
Example:
-@example
+@c ===beg===
+@c declare(n, integer, x, noninteger);
+@c askinteger(n);
+@c askinteger(x);
+@c ===end===
+@example maxima
+@group
(%i1) declare(n, integer, x, noninteger);
(%o1) done
+@end group
+@group
(%i2) askinteger(n);
(%o2) yes
+@end group
+@group
(%i3) askinteger(x);
(%o3) no
+@end group
@end example
@opencatbox{Categories:}
@@ -577,15 +679,26 @@ See also @mrefdot{declare}
Example:
-@example
+@c ===beg===
+@c exp(%i)^f(x);
+@c declare(f, integervalued);
+@c exp(%i)^f(x);
+@c ===end===
+@example maxima
+@group
(%i1) exp(%i)^f(x);
%i f(x)
-(%o1) (%e )
+(%o1) %e
+@end group
+@group
(%i2) declare(f, integervalued);
(%o2) done
+@end group
+@group
(%i3) exp(%i)^f(x);
%i f(x)
(%o3) %e
+@end group
@end example
@opencatbox{Categories:}
@@ -611,17 +724,22 @@ Example:
@c declare(a, nonarray);
@c a[x];
@c ===end===
-@example
+@example maxima
(%i1) a:'b$ b:'c$ c:'d$
-
+@group
(%i4) a[x];
(%o4) d
x
+@end group
+@group
(%i5) declare(a, nonarray);
(%o5) done
+@end group
+@group
(%i6) a[x];
(%o6) a
x
+@end group
@end example
@opencatbox{Categories:}
@@ -775,19 +893,36 @@ See also @mref{qput} and @mrefdot{get}
Examples:
-@example
+@c ===beg===
+@c put (foo, (a+b)^5, expr);
+@c put (foo, "Hello", str);
+@c properties (foo);
+@c get (foo, expr);
+@c get (foo, str);
+@c ===end===
+@example maxima
+@group
(%i1) put (foo, (a+b)^5, expr);
5
(%o1) (b + a)
+@end group
+@group
(%i2) put (foo, "Hello", str);
(%o2) Hello
+@end group
+@group
(%i3) properties (foo);
(%o3) [[user properties, str, expr]]
+@end group
+@group
(%i4) get (foo, expr);
5
(%o4) (b + a)
+@end group
+@group
(%i5) get (foo, str);
(%o5) Hello
+@end group
@end example
@opencatbox{Categories:}
@@ -807,22 +942,45 @@ See also @mrefdot{get}
Example:
-@example
-(%i1) foo: aa$
+@c ===beg===
+@c foo: aa$
+@c bar: bb$
+@c baz: cc$
+@c put (foo, bar, baz);
+@c properties (aa);
+@c get (aa, cc);
+@c qput (foo, bar, baz);
+@c properties (foo);
+@c get ('foo, 'baz);
+@c ===end===
+@example maxima
+(%i1) foo: aa$
(%i2) bar: bb$
(%i3) baz: cc$
+@group
(%i4) put (foo, bar, baz);
(%o4) bb
+@end group
+@group
(%i5) properties (aa);
(%o5) [[user properties, cc]]
+@end group
+@group
(%i6) get (aa, cc);
(%o6) bb
+@end group
+@group
(%i7) qput (foo, bar, baz);
(%o7) bar
+@end group
+@group
(%i8) properties (foo);
(%o8) [value, [user properties, baz]]
+@end group
+@group
(%i9) get ('foo, 'baz);
(%o9) bar
+@end group
@end example
@opencatbox{Categories:}
@@ -1136,27 +1294,47 @@ Examples:
@c is (sinh (bb - aa) > 0);
@c is (bb^2 < cc^2);
@c ===end===
-@example
+@example maxima
+@group
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
+@end group
+@group
(%i2) assume (aa < bb and bb < cc);
(%o2) [bb > aa, cc > bb]
+@end group
+@group
(%i3) facts ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
+@end group
+@group
(%i4) is (xx > yy);
(%o4) true
+@end group
+@group
(%i5) is (yy < -yy);
(%o5) true
+@end group
+@group
(%i6) is (sinh (bb - aa) > 0);
(%o6) true
+@end group
+@group
(%i7) forget (bb > aa);
(%o7) [bb > aa]
+@end group
+@group
(%i8) prederror : false;
(%o8) false
+@end group
+@group
(%i9) is (sinh (bb - aa) > 0);
(%o9) unknown
+@end group
+@group
(%i10) is (bb^2 < cc^2);
(%o10) unknown
+@end group
@end example
@opencatbox{Categories:}
@@ -1270,40 +1448,72 @@ Examples:
@c asksign (a - b);
@c input:p;
@c ===end===
-@example
+@example maxima
(%i1) assume_pos: true$
(%i2) assume_pos_pred: symbolp$
+@group
(%i3) sign (a);
(%o3) pos
+@end group
+@group
(%i4) sign (a[1]);
(%o4) pnz
+@end group
(%i5) assume_pos_pred: lambda ([x], display (x), true)$
+@group
(%i6) asksign (a);
x = a
(%o6) pos
+@end group
+@group
(%i7) asksign (a[1]);
x = a
1
(%o7) pos
+@end group
+@group
(%i8) asksign (foo (a));
x = foo(a)
(%o8) pos
+@end group
+@group
(%i9) asksign (foo (a) + bar (b));
x = foo(a)
x = bar(b)
(%o9) pos
+@end group
+@group
(%i10) asksign (log (a));
x = a
-Is a - 1 positive, negative, or zero?
+ x = a
+
+ x = a
+
+ x = a
+
+ x = a
+ x = a
+
+ x = a
+
+ x = a
+
+ x = a
+
+@end group
+@group
+Is a - 1 positive, negative or zero?
p;
(%o10) pos
+@end group
+@group
(%i11) asksign (a - b);
x = a
@@ -1313,10 +1523,12 @@ p;
x = b
-Is b - a positive, negative, or zero?
-
+@end group
+@group
+Is b - a positive, negative or zero?
p;
(%o11) neg
+@end group
@end example
@opencatbox{Categories:}
@@ -1486,11 +1698,15 @@ Examples:
@c %pi > %e;
@c is (%pi > %e);
@c ===end===
-@example
+@example maxima
+@group
(%i1) %pi > %e;
(%o1) %pi > %e
+@end group
+@group
(%i2) is (%pi > %e);
(%o2) true
+@end group
@end example
@code{is} attempts to derive predicates from the @code{assume} database.
@@ -1502,17 +1718,27 @@ Examples:
@c is (a > c);
@c is (equal (a, c));
@c ===end===
-@example
+@example maxima
+@group
(%i1) assume (a > b);
(%o1) [a > b]
+@end group
+@group
(%i2) assume (b > c);
(%o2) [b > c]
+@end group
+@group
(%i3) is (a < b);
(%o3) false
+@end group
+@group
(%i4) is (a > c);
(%o4) true
+@end group
+@group
(%i5) is (equal (a, c));
(%o5) false
+@end group
@end example
If @code{is} can neither prove nor disprove a predicate from the @code{assume}
@@ -1525,17 +1751,20 @@ database, the global flag @code{prederror} governs the behavior of @code{is}.
@c prederror: false$
@c is (a > 0);
@c ===end===
-@example
+Unable to evaluate predicate a > 0
+ -- an error. To debug this try: debugmode(true);
+@example maxima
+@group
(%i1) assume (a > b);
(%o1) [a > b]
+@end group
(%i2) prederror: true$
(%i3) is (a > 0);
-Maxima was unable to evaluate the predicate:
-a > 0
- -- an error. Quitting. To debug this try debugmode(true);
(%i4) prederror: false$
+@group
(%i5) is (a > 0);
(%o5) unknown
+@end group
@end example
@opencatbox{Categories:}
@@ -1592,13 +1821,19 @@ Examples:
@c assume (x > 1);
@c maybe (x > 0);
@c ===end===
-@example
+@example maxima
+@group
(%i1) maybe (x > 0);
(%o1) unknown
+@end group
+@group
(%i2) assume (x > 1);
(%o2) [x > 1]
+@end group
+@group
(%i3) maybe (x > 0);
(%o3) true
+@end group
@end example
@opencatbox{Categories:}
@@ -1691,14 +1926,21 @@ Examples:
@c e : charfun ('"and" (-1 < x, x < 1))$
@c [subst (x = -1, e), subst (x = 0, e), subst (x = 1, e)];
@c ===end===
-@example
+@example maxima
+@group
(%i1) charfun (x < 1);
(%o1) charfun(x < 1)
+@end group
+@group
(%i2) subst (x = -1, %);
(%o2) 1
+@end group
(%i3) e : charfun ('"and" (-1 < x, x < 1))$
+@group
(%i4) [subst (x = -1, e), subst (x = 0, e), subst (x = 1, e)];
-(%o4) [0, 1, 0]
+(%o4) [charfun((- 1 < - 1) and (- 1 < 1)),
+ charfun((- 1 < 0) and (0 < 1)), charfun((- 1 < 1) and (1 < 1))]
+@end group
@end example
@opencatbox{Categories:}
@@ -1726,19 +1968,31 @@ Examples:
@c compare (1/x, 0);
@c compare (x, abs(x));
@c ===end===
-@example
+@example maxima
+@group
(%i1) compare (1, 2);
(%o1) <
+@end group
+@group
(%i2) compare (1, x);
(%o2) unknown
+@end group
+@group
(%i3) compare (%i, %i);
(%o3) =
+@end group
+@group
(%i4) compare (%i, %i + 1);
(%o4) notcomparable
+@end group
+@group
(%i5) compare (1/x, 0);
(%o5) #
+@end group
+@group
(%i6) compare (x, abs(x));
(%o6) <=
+@end group
@end example
The function @code{compare} doesn't try to determine whether the real domains of
@@ -1747,9 +2001,11 @@ its arguments are nonempty; thus
@c ===beg===
@c compare (acos (x^2 + 1), acos (x^2 + 1) + 1);
@c ===end===
-@example
+@example maxima
+@group
(%i1) compare (acos (x^2 + 1), acos (x^2 + 1) + 1);
(%o1) <
+@end group
@end example
@c IT IS NOT QUITE TRUE, WHAT ABOUT x=0 ?
@@ -1800,14 +2056,20 @@ By itself, @code{equal} does not evaluate or simplify.
@c equal (x, x + 1);
@c equal (x, y);
@c ===end===
-@example
+@example maxima
+@group
(%i1) equal (x^2 - 1, (x + 1) * (x - 1));
2
(%o1) equal(x - 1, (x - 1) (x + 1))
+@end group
+@group
(%i2) equal (x, x + 1);
(%o2) equal(x, x + 1)
+@end group
+@group
(%i3) equal (x, y);
(%o3) equal(x, y)
+@end group
@end example
The function @code{is} attempts to evaluate @code{equal} to a Boolean value.
@@ -1826,25 +2088,43 @@ even if they are not syntactically equal (i.e., identical).
@c is (equal (x, y));
@c is (x = y);
@c ===end===
-@example
+@example maxima
+@group
(%i1) ratsimp (x^2 - 1 - (x + 1) * (x - 1));
(%o1) 0
+@end group
+@group
(%i2) is (equal (x^2 - 1, (x + 1) * (x - 1)));
(%o2) true
+@end group
+@group
(%i3) is (x^2 - 1 = (x + 1) * (x - 1));
(%o3) false
+@end group
+@group
(%i4) ratsimp (x - (x + 1));
(%o4) - 1
+@end group
+@group
(%i5) is (equal (x, x + 1));
(%o5) false
+@end group
+@group
(%i6) is (x = x + 1);
(%o6) false
+@end group
+@group
(%i7) ratsimp (x - y);
(%o7) x - y
+@end group
+@group
(%i8) is (equal (x, y));
(%o8) unknown
+@end group
+@group
(%i9) is (x = y);
(%o9) false
+@end group
@end example
When @code{is} fails to reduce @code{equal} to @code{true} or @code{false},
@@ -1858,23 +2138,32 @@ the result is governed by the global flag @code{prederror}.
@c prederror : false;
@c is (equal (aa, bb));
@c ===end===
-@example
+ 2 2
+Unable to evaluate predicate equal(x + 2 x + 1, x - 2 x - 1)
+ -- an error. To debug this try: debugmode(true);
+@example maxima
+@group
(%i1) [aa : x^2 + 2*x + 1, bb : x^2 - 2*x - 1];
2 2
(%o1) [x + 2 x + 1, x - 2 x - 1]
+@end group
+@group
(%i2) ratsimp (aa - bb);
(%o2) 4 x + 2
+@end group
+@group
(%i3) prederror : true;
(%o3) true
+@end group
(%i4) is (equal (aa, bb));
-Maxima was unable to evaluate the predicate:
- 2 2
-equal(x + 2 x + 1, x - 2 x - 1)
- -- an error. Quitting. To debug this try debugmode(true);
+@group
(%i5) prederror : false;
(%o5) false
+@end group
+@group
(%i6) is (equal (aa, bb));
(%o6) unknown
+@end group
@end example
Some operators evaluate @code{equal} and @code{notequal} to @code{true} or
@@ -1886,16 +2175,24 @@ Some operators evaluate @code{equal} and @code{notequal} to @code{true} or
@c eq_2 : equal (y^2 + 2*y + 1, (y + 1)^2);
@c [eq_1 and eq_2, eq_1 or eq_2, not eq_1];
@c ===end===
-@example
+@example maxima
+@group
(%i1) if equal (y, y - 1) then FOO else BAR;
(%o1) BAR
+@end group
+@group
(%i2) eq_1 : equal (x, x + 1);
(%o2) equal(x, x + 1)
+@end group
+@group
(%i3) eq_2 : equal (y^2 + 2*y + 1, (y + 1)^2);
2 2
(%o3) equal(y + 2 y + 1, (y + 1) )
+@end group
+@group
(%i4) [eq_1 and eq_2, eq_1 or eq_2, not eq_1];
(%o4) [false, true, true]
+@end group
@end example
Because @code{not @var{expr}} causes evaluation of @var{expr},
@@ -1906,11 +2203,15 @@ Because @code{not @var{expr}} causes evaluation of @var{expr},
@c [notequal (2*z, 2*z - 1), not equal (2*z, 2*z - 1)];
@c is (notequal (2*z, 2*z - 1));
@c ===end===
-@example
+@example maxima
+@group
(%i1) [notequal (2*z, 2*z - 1), not equal (2*z, 2*z - 1)];
(%o1) [notequal(2 z, 2 z - 1), true]
+@end group
+@group
(%i2) is (notequal (2*z, 2*z - 1));
(%o2) true
+@end group
@end example
@opencatbox{Categories:}
@@ -1938,27 +2239,47 @@ Examples:
@c notequal (a, b);
@c maybe (notequal (a, b));
@c ===end===
-@example
+@example maxima
+@group
(%i1) equal (a, b);
(%o1) equal(a, b)
+@end group
+@group
(%i2) maybe (equal (a, b));
(%o2) unknown
+@end group
+@group
(%i3) notequal (a, b);
(%o3) notequal(a, b)
+@end group
+@group
(%i4) not equal (a, b);
(%o4) notequal(a, b)
+@end group
+@group
(%i5) maybe (notequal (a, b));
(%o5) unknown
+@end group
+@group
(%i6) assume (a > b);
(%o6) [a > b]
+@end group
+@group
(%i7) equal (a, b);
(%o7) equal(a, b)
+@end group
+@group
(%i8) maybe (equal (a, b));
(%o8) false
+@end group
+@group
(%i9) notequal (a, b);
(%o9) notequal(a, b)
+@end group
+@group
(%i10) maybe (notequal (a, b));
(%o10) true
+@end group
@end example
@opencatbox{Categories:}
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-25 14:40:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, rtoy-plotting-update-examples has been created
at c1a14751e15eef5e5267ab23210cbb6f5cd8a047 (commit)
- Log -----------------------------------------------------------------
commit c1a14751e15eef5e5267ab23210cbb6f5cd8a047
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 07:39:31 2025 -0700
Add blocks to autogenerate more examples.
diff --git a/doc/info/Plotting.texi b/doc/info/Plotting.texi
index cc3007430..aea72477f 100644
--- a/doc/info/Plotting.texi
+++ b/doc/info/Plotting.texi
@@ -2145,7 +2145,7 @@ they can be seen if the command is ended by semi-colon.
@closecatbox
@end defvr
- @c -----------------------------------------------------------------------------
+@c -----------------------------------------------------------------------------
@anchor{gnuplot_script_file}
@defvr {Plot option} gnuplot_script_file [gnuplot_script_file, @var{file_name_or_function}]
@@ -2162,10 +2162,14 @@ and deleted when Maxima is closed.
In this example, the script file name is set to ``sin.gnuplot'', in the
current directory.
-@example
+@c ===beg===
+@c plot2d( sin(x), [x,0,2*%pi], [gnuplot_script_file, "./sin.gnuplot"]);
+@c ===end===
+@example maxima
+@group
(%i1) plot2d( sin(x), [x,0,2*%pi], [gnuplot_script_file, "./sin.gnuplot"]);
-
-(%o1) ["./sin.gnuplot"]
+(%o1) [./sin.gnuplot]
+@end group
@end example
In this example, @code{gnuplot_prt(@var{file})} is a function that takes
@@ -2175,18 +2179,26 @@ zeros into the default file name (a 16-character random string followed
by ``.gnuplot''). The temporary directory is determined by
@mref{maxima_tempdir} (it is ``/tmp'' in this example).
-@example
+@c ===beg===
+@c gnuplot_prt(file) := block([beg,end],
+@c [beg,end] : split(file,"."),
+@c printf(false,"~a_~8,'0d.~a",beg,random(10^8-1),end)) $
+@c plot2d( sin(x), [x,0,2*%pi], [gnuplot_script_file, gnuplot_prt]);
+@c ===end===
+@example maxima
+@group
(%i1) gnuplot_prt(file) := block([beg,end],
- [beg,end] : split(file,"."),
- printf(false,"~a_~8,'0d.~a",beg,random(10^8-1),end)) $
-
+ [beg,end] : split(file,"."),
+ printf(false,"~a_~8,'0d.~a",beg,random(10^8-1),end)) $
+@end group
+@group
(%i2) plot2d( sin(x), [x,0,2*%pi], [gnuplot_script_file, gnuplot_prt]);
-
-(%o2) ["/tmp/e95avdudp3urz0gj_09606909.gnuplot"]
+(%o2) [/tmp/nxuo4x28s6wocvjw_99211646.gnuplot]
+@end group
@end example
By default, the script would have been saved in a file named
-@code{random-string.gnuplot} (random-string = e95avdudp3urz0gj in this
+@code{random-string.gnuplot} (random-string = nxuo4x28s6wocvjw_99211646 in this
example) in the temporary directory. If the print statement in function
@code{gnuplot_prt} above included a directory path, the file would have
been saved in that directory rather than in the temporary directory.
commit d3ad02dd11f37dabe40b414df62d5a60214c2959
Merge: ba77ba380 e9d6f170c
Author: Raymond Toy <toy...@gm...>
Date: Mon Aug 25 07:21:58 2025 -0700
Merge branch 'master' into rtoy-plotting-update-examples
commit ba77ba38016dc94e10d1d2102a9b67302ca7b8f4
Author: Raymond Toy <toy...@gm...>
Date: Sun Aug 24 13:54:43 2025 -0700
Run update_examples to regenerate examples
This also allows syntax highlighting if enabled.
diff --git a/doc/info/Plotting.texi b/doc/info/Plotting.texi
index 423d81ebc..cc3007430 100644
--- a/doc/info/Plotting.texi
+++ b/doc/info/Plotting.texi
@@ -179,7 +179,7 @@ you may change the value of this variable. For instance,
@c ===beg===
@c geomview_command: "/usr/local/bin/my_geomview"$
@c ===end===
-@example
+@example maxima
(%i1) geomview_command: "/usr/local/bin/my_geomview"$
@end example
@@ -219,7 +219,7 @@ variable. For instance,
@c ===beg===
@c gnuplot_command: "/usr/local/bin/my_gnuplot"$
@c ===end===
-@example
+@example maxima
(%i1) gnuplot_command: "/usr/local/bin/my_gnuplot"$
@end example
@@ -269,7 +269,7 @@ variable. For example, by changing it to:
@c ===beg===
@c gnuplot_view_args: "~s -"$
@c ===end===
-@example
+@example maxima
(%i1) gnuplot_view_args: "~s -"$
@end example
@@ -325,10 +325,11 @@ corresponding the maximum 36 iterations would not be black.
@c julia (-0.55, 0.6, [iterations, 36], [x, -0.3, 0.2],
@c [y, 0.3, 0.9], [grid, 400, 400], [color_bar_tics, 0, 6, 36])$
@c ===end===
-@example
+Warning: line 394 - example input lines must begin with '@c '.
+@example maxima
@group
(%i1) julia (-0.55, 0.6, [iterations, 36], [x, -0.3, 0.2],
- [y, 0.3, 0.9], [grid, 400, 400], [color_bar_tics, 0, 6, 36])$
+ [y, 0.3, 0.9], [grid, 400, 400], [color_bar_tics, 0, 6, 36])$
@end group
@end example
@@ -393,9 +394,11 @@ Example:
@c mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
[grid,400,400])$
@c ===end===
-@example
+incorrect syntax: end of file while scanning expression.
+
+ ^
+@example maxima
(%i1) mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
- [grid,400,400])$
@end example
@altfigure{plotting5,Example of mandelbrot command's output}
@@ -519,7 +522,7 @@ function names.
@c ===beg===
@c plot2d (sin(x), [x, -%pi, %pi])$
@c ===end===
-@example
+@example maxima
(%i1) plot2d (sin(x), [x, -%pi, %pi])$
@end example
@@ -530,7 +533,7 @@ function names.
@c ===beg===
@c plot2d (x^2-y^3+3*y=2, [x,-2.5,2.5], [y,-2.5,2.5])$
@c ===end===
-@example
+@example maxima
(%i1) plot2d (x^2-y^3+3*y=2, [x,-2.5,2.5], [y,-2.5,2.5])$
@end example
@@ -542,7 +545,7 @@ function names.
@c r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
@c plot2d([parametric, r*sin(t), r*cos(t), [t,-8*%pi,8*%pi]])$
@c ===end===
-@example
+@example maxima
(%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
(%i2) plot2d([parametric, r*sin(t), r*cos(t), [t,-8*%pi,8*%pi]])$
@end example
@@ -555,9 +558,11 @@ function names.
@c plot2d ([discrete, makelist(i*%pi, i, 1, 5),
@c [0.6, 0.9, 0.2, 1.3, 1]])$
@c ===end===
-@example
+@example maxima
+@group
(%i1) plot2d ([discrete, makelist(i*%pi, i, 1, 5),
- [0.6, 0.9, 0.2, 1.3, 1]])$
+ [0.6, 0.9, 0.2, 1.3, 1]])$
+@end group
@end example
@altfigure{plotting14,Plot of a set of points}
@@ -567,7 +572,7 @@ function names.
@c ===beg===
@c plot2d ([contour, u^3 + v^2], [u, -4, 4], [v, -4, 4])$
@c ===end===
-@example
+@example maxima
(%i1) plot2d ([contour, u^3 + v^2], [u, -4, 4], [v, -4, 4])$
@end example
@@ -583,8 +588,11 @@ to limit the values in the vertical axis:
@c ===beg===
@c plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
@c ===end===
-@example
+@example maxima
+@group
(%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
+plot2d: some values will be clipped.
+@end group
@end example
@altfigure{plotting7,Example of the use of the y plotting option}
@@ -602,11 +610,13 @@ fill a square.
@c [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3],
@c ["x^2-1", 0.1, 8]], [title, "A parabola"])$
@c ===end===
-@example
+@example maxima
+@group
(%i1) plot2d ( x^2 - 1, [x, -3, 3], nobox, grid2d,
- [yx_ratio, 1], [axes, solid], [xtics, -2, 4, 2],
- [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3],
- ["x^2-1", 0.1, 8]], [title, "A parabola"])$
+ [yx_ratio, 1], [axes, solid], [xtics, -2, 4, 2],
+ [ytics, 2, 2, 6], [label, ["x", 2.9, -0.3],
+ ["x^2-1", 0.1, 8]], [title, "A parabola"])$
+@end group
@end example
@altfigure{plotting8,Plot with axes instead of a box}
@@ -616,7 +626,7 @@ A plot with a logarithmic scale in the vertical axis:
@c ===beg===
@c plot2d (exp(3*s), [s, -2, 2], logy)$
@c ===end===
-@example
+@example maxima
(%i1) plot2d (exp(3*s), [s, -2, 2], logy)$
@end example
@@ -630,10 +640,12 @@ Plotting functions by name:
@c H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
@c plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
@c ===end===
-@example
+@example maxima
(%i1) F(x) := x^2 $
+@group
(%i2) :lisp (defun |$g| (x) (m* x x x))
$g
+@end group
(%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
(%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
@end example
@@ -650,10 +662,11 @@ the two functions.
@c plot2d([x^2+y^2=1, -abs(x)], [x, -1.5, 1.5], [y, -2, 2], same_xy,
@c nolegend);
@c ===end===
-@example
+@example maxima
@group
(%i1) plot2d([x^2+y^2=1, -abs(x)], [x, -1.5, 1.5], [y, -2, 2], same_xy,
- nolegend);
+ nolegend);
+(%o1) false
@end group
@end example
@@ -664,10 +677,8 @@ A plot of 200 random numbers between 0 and 9:
@c ===beg===
@c plot2d ([discrete, makelist ( random(10), 200)])$
@c ===end===
-@example
-@group
+@example maxima
(%i1) plot2d ([discrete, makelist ( random(10), 200)])$
-@end group
@end example
@altfigure{plotting13,Plot of 200 random points}
@@ -684,13 +695,17 @@ plotted on the two axes:
@c plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
@c [style,points], [point_type,diamond], [color,red])$
@c ===end===
-@example
+@example maxima
(%i1) display2d:false$
+@group
(%i2) with_stdout ("data.txt", for x:0 thru 10 do
print (x, x^2, x^3))$
+@end group
(%i3) data: read_matrix ("data.txt")$
+@group
(%i4) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
[style,points], [point_type,diamond], [color,red])$
+@end group
@end example
@altfigure{plotting15,Plot of points read from a file}
@@ -706,14 +721,16 @@ A plot of discrete data points together with a continuous function:
@c [xlabel, "pendulum's length (cm)"],
@c [ylabel, "period (s)"])$
@c ===end===
-@example
+@example maxima
(%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
+@group
(%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
[style, points, lines], [color, red, blue],
[point_type, asterisk],
[legend, "experiment", "theory"],
[xlabel, "pendulum's length (cm)"],
[ylabel, "period (s)"])$
+@end group
@end example
@altfigure{plotting16,Example plot using several options}
@@ -746,7 +763,7 @@ Plot of a function of two variables:
@c plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
@c nomesh_lines)$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100],
nomesh_lines)$
@@ -763,10 +780,11 @@ shows how to plot with only lines and no shading:
@c plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
@c nopalette, [color, magenta])$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
nopalette, [color, magenta])$
+log: encountered log(0).
@end group
@end example
@@ -783,12 +801,13 @@ include a color bar that relates colors to values of the z variable:
@c color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
@c [color_bar_tics, 4])$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29],
- [palette, [gradient, red, orange, yellow, green]],
- color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
- [color_bar_tics, 4])$
+ [palette, [gradient, red, orange, yellow, green]],
+ color_bar, [xtics, 1], [ytics, 1], [ztics, 4],
+ [color_bar_tics, 4])$
+log: encountered log(0).
@end group
@end example
@@ -804,10 +823,13 @@ definitions.
@c 4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
@c [x, -4, 4], [y, -4, 4])$
@c ===end===
-@example
+@example maxima
+@group
(%i1) plot3d ([[-3*x - y, [x, -2, 2], [y, -2, 2]],
4*sin(3*(x^2 + y^2))/(x^2 + y^2), [x, -3, 3], [y, -3, 3]],
[x, -4, 4], [y, -4, 4])$
+expt: undefined: 0 to a negative exponent.
+@end group
@end example
@altfigure{plotting20,Plot of two functions of two variables}
@@ -821,12 +843,14 @@ Plot of a Klein bottle, defined parametrically:
@c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
@c [y, -%pi, %pi], [grid, 50, 50])$
@c ===end===
-@example
+@example maxima
(%i1) expr_1: 5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)-10$
(%i2) expr_2: -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3)$
(%i3) expr_3: 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))$
+@group
(%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
[y, -%pi, %pi], [grid, 50, 50])$
+@end group
@end example
@altfigure{plotting21,Plot of a Klein bottle}
@@ -840,9 +864,11 @@ coordinates to rectangular coordinates. See the documentation for
@c plot3d (sin(2*theta)*cos(phi), [theta,0,%pi], [phi,0,2*%pi],
@c [transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
@c ===end===
-@example
+@example maxima
+@group
(%i1) plot3d (sin(2*theta)*cos(phi), [theta,0,%pi], [phi,0,2*%pi],
- [transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
+ [transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
+@end group
@end example
@altfigure{plotting22,Plot of a spherical harmonic function}
@@ -855,7 +881,7 @@ cylindrical to rectangular coordinates. See the documentation for
@c plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], nobox,
@c nolegend, [grid, 12, 80], [transform_xy, polar_to_xy])$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d (r^.33*cos(th/3), [r,0,1], [th,0,6*%pi], nobox,
nolegend, [grid, 12, 80], [transform_xy, polar_to_xy])$
@@ -875,7 +901,7 @@ surface correctly.
@c [transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
@c [palette,[gradient,"#1b1b4e", "#8c8cf8"]])$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d ( 5, [theta,0,%pi], [phi,0,2*%pi], same_xyz, nolegend,
[transform_xy, spherical_to_xyz], [mesh_lines_color,blue],
@@ -895,7 +921,7 @@ indices.
@c f(x, y) := float('M [round(x), round(y)])$
@c plot3d (f(x,y), [x,1,4], [y,1,4], [grid,3,3], nolegend)$
@c ===end===
-@example
+@example maxima
(%i1) M: matrix([1,2,3,4], [1,2,3,2], [1,2,3,4], [1,2,3,3])$
(%i2) f(x, y) := float('M [round(x), round(y)])$
(%i3) plot3d (f(x,y), [x,1,4], [y,1,4], [grid,3,3], nolegend)$
@@ -911,7 +937,7 @@ in which each color represents a different level.
@c [mesh_lines_color,false], [elevation,0], [azimuth,0],
@c color_bar, [grid,80,80], noztics, [color_bar_tics,1])$
@c ===end===
-@example
+@example maxima
@group
(%i1) plot3d (cos (-x^2 + y^3/4), [x,-4,4], [y,-4,4], [zlabel,""],
[mesh_lines_color,false], [elevation,0], [azimuth,0],
@@ -991,15 +1017,17 @@ Modification of the @mref{grid} values.
@c ===beg===
@c set_plot_option ([grid, 30, 40]);
@c ===end===
-@example
+@example maxima
+@group
(%i1) set_plot_option ([grid, 30, 40]);
(%o1) [[plot_format, gnuplot_pipes], [grid, 30, 40],
-[run_viewer, true], [axes, true], [nticks, 29], [adapt_depth, 5],
-[color, blue, red, green, magenta, black, cyan],
-[point_type, bullet, box, triangle, plus, times, asterisk],
-[palette, [hue, 0.33333333, 0.7, 1, 0.5],
+[run_viewer, true], [axes, true], [nticks, 29],
+[adapt_depth, 5], [color, blue, red, green, magenta, black,
+cyan], [point_type, bullet, box, triangle, plus, times,
+asterisk], [palette, [hue, 0.33333333, 0.7, 1, 0.5],
[hue, 0.8, 0.7, 1, 0.4]], [gnuplot_svg_background, white],
[gnuplot_preamble, ], [gnuplot_term, default]]
+@end group
@end example
@opencatbox{Categories:}
@@ -1037,7 +1065,7 @@ variable. For instance,
@c ===beg===
@c xmaxima_plot_command: "/usr/local/bin/my_xmaxima"$
@c ===end===
-@example
+@example maxima
(%i1) xmaxima_plot_command: "/usr/local/bin/my_xmaxima"$
@end example
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-25 11:05:17
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via e9d6f170cdb98656288306ff539f46e40ecfa9dc (commit)
from 02647d1aa3b7fb0617790eff5f30f96f514fb52f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e9d6f170cdb98656288306ff539f46e40ecfa9dc
Author: villate <vi...@fe...>
Date: Mon Aug 25 12:04:30 2025 +0100
Keeps the list AC_CONFIG_FILES in alphabetical order, for easier maintenance.
diff --git a/configure.ac b/configure.ac
index eba6ab9d0..7cb032981 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1391,6 +1391,7 @@ doc/info/figures/Makefile \
doc/info/de/Makefile \
doc/info/de/include-maxima.texi \
doc/info/es/Makefile \
+doc/info/es/include-maxima.texi \
doc/info/ja/Makefile \
doc/info/ja/include-maxima.texi \
doc/info/pt_BR/include-maxima.texi \
@@ -1415,7 +1416,7 @@ share/contrib/maxima-odesolve/Makefile \
share/contrib/symplectic_ode/Makefile \
share/nelder_mead/Makefile \
share/raddenest/Makefile \
-share/draw/Makefile share/logic/Makefile doc/info/es/include-maxima.texi \
+share/draw/Makefile share/logic/Makefile \
src/lisp])
AC_OUTPUT
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-25 09:33:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 02647d1aa3b7fb0617790eff5f30f96f514fb52f (commit)
from db31e867f01271a6b98129203adb9630e3c4e5a0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 02647d1aa3b7fb0617790eff5f30f96f514fb52f
Author: villate <vi...@fe...>
Date: Mon Aug 25 10:33:31 2025 +0100
Fixes a typo.
diff --git a/doc/info/figures/README b/doc/info/figures/README
index f954c3700..b5ea00a8a 100644
--- a/doc/info/figures/README
+++ b/doc/info/figures/README
@@ -46,10 +46,10 @@ is not looking at it. For instance, when a user is reading a manual section
using "describe" in the Maxima console, or a blind user hearing to a screen
reader describe what's in an HTML page of the manual.
-The macro @small figure works as altfigure but the image will expand 6cm,
-rather than 10cm, in the PDF version of the manual.
-There is an older macro, @figure, which takes only one argument, the name of
-the file, and will use that name also as descriptive text.
+The macro @smallfigure works as altfigure but the image will expand 6cm,
+rather than 10cm, in the PDF version of the manual. There is also an older
+macro, @figure, which takes only one argument, the name of the file, and will
+use that name also as descriptive text.
-----------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
doc/info/figures/README | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-25 09:30:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via db31e867f01271a6b98129203adb9630e3c4e5a0 (commit)
from 573cb0e234adff5291c5bdf1a82808f601ee2396 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit db31e867f01271a6b98129203adb9630e3c4e5a0
Author: villate <vi...@fe...>
Date: Mon Aug 25 10:29:43 2025 +0100
Add the macro @smallfigure, that was forgotten in my last commit.
diff --git a/doc/info/category-macros.texi.in b/doc/info/category-macros.texi.in
index 2758e3a42..2768b2568 100644
--- a/doc/info/category-macros.texi.in
+++ b/doc/info/category-macros.texi.in
@@ -266,3 +266,21 @@
@*(Figure \file\: \text\)
@end macro
@end ifinfo
+
+@c smallfigure works as altfigure but the image will expand 6cm, rather than
+@c 10cm, in the PDF version of the manual.
+@ifhtml
+@macro smallfigure {file, text}
+@image{@value{figuresfolder}/\file\, , , \text\}
+@end macro
+@end ifhtml
+@iftex
+@macro smallfigure {file, text}
+@center @image{@value{figuresfolder}/\file\, 10cm, , \text\}
+@end macro
+@end iftex
+@ifinfo
+@macro smallfigure {file, text}
+@*(Figure \file\: \text\)
+@end macro
+@end ifinfo
diff --git a/doc/info/figures/README b/doc/info/figures/README
index 071959e88..f954c3700 100644
--- a/doc/info/figures/README
+++ b/doc/info/figures/README
@@ -46,6 +46,8 @@ is not looking at it. For instance, when a user is reading a manual section
using "describe" in the Maxima console, or a blind user hearing to a screen
reader describe what's in an HTML page of the manual.
+The macro @small figure works as altfigure but the image will expand 6cm,
+rather than 10cm, in the PDF version of the manual.
There is an older macro, @figure, which takes only one argument, the name of
the file, and will use that name also as descriptive text.
-----------------------------------------------------------------------
Summary of changes:
doc/info/category-macros.texi.in | 18 ++++++++++++++++++
doc/info/figures/README | 2 ++
2 files changed, 20 insertions(+)
hooks/post-receive
--
Maxima CAS
|
|
From: peterpall <pet...@us...> - 2025-08-25 04:12:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 573cb0e234adff5291c5bdf1a82808f601ee2396 (commit)
from c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 573cb0e234adff5291c5bdf1a82808f601ee2396
Author: Gunter Königsmann <gu...@pe...>
Date: Mon Aug 25 06:12:08 2025 +0200
wrstcse: Functions that generate tolerance data from a distibution of measurement values
diff --git a/share/contrib/rtest_wrstcse.mac b/share/contrib/rtest_wrstcse.mac
index 122479a1e..5001f0d5d 100644
--- a/share/contrib/rtest_wrstcse.mac
+++ b/share/contrib/rtest_wrstcse.mac
@@ -75,5 +75,7 @@ subst(wc_mintypmax_rss_percent(tol[1]+.5*tol[2]+4,3),'Fail)/"ppm",ratprint=false
2699.796063260207;
wc_sensitivities((100*(tol["R2"]/100+1)*(tol["Temp"]/100+1)*U_In)/(100*(tol["R2"]/100+1)*(tol["Temp"]/100+1)+100*(tol["R1"]/100+1)*(tol["Temp"]/100+1)));
matrix([tol["R2"],U_In/400],[tol["R1"],-(U_In/400)],[tol["Temp"],0]);
+wc_montecarlo2rssparams([1,2,2,1]);
+wc_rssparams(1/3,3/2);
(kill(val1),done);
done;
diff --git a/share/contrib/wrstcse.mac b/share/contrib/wrstcse.mac
index b31de01a1..70e4fbcdf 100644
--- a/share/contrib/wrstcse.mac
+++ b/share/contrib/wrstcse.mac
@@ -174,6 +174,28 @@ wc_getrssparams(x):=block([tols:[],derivates_linearized,sigmaval,meanval],
return(new(wc_rssparams(sigmaval,meanval)))
);
+/* Determines the rss parameters from the distribution of data */
+wc_distrib2rssparams(data):=block([wc_mu,wc_sigma,wc_len],
+ if not listp(data) then error("wc_distrib2rssparams: Input data needs to be a list of sample values"),
+ wc_len:length(data),
+ if wc_len<2 then error("wc_distrib2rssparams: Input data needs to be at least 2 samples long"),
+ wc_mu:lsum(i,i,data)/wc_len,
+ wc_sigma:lsum((i-wc_mu)^2,i,data)/(wc_len-1),
+ return(new(wc_rssparams(wc_sigma,wc_mu)))
+);
+
+/* Generates input data for the tolerance parameters from measurement data */
+wc_distrib2toldata(tol,data,[sigmas]):=block(
+ [wc_rssparams:wc_distrib2rssparams(data),wc_sigmas:wc_defaultsigma],
+ if length(sigmas) > 1 then error("wc_distrib2toldata: More than 3 parameters)"),
+ if length(sigmas) = 1 then
+ (
+ if not numberp(sigmas[1]) then error("wc_distrib2toldata: sigmas needs to be a number)"),
+ wc_sigmas:sigmas[1]
+ ),
+ wc_rssparams@sigma*wc_sigmas*tol+wc_rssparams@mu
+);
+
/* Estimate the tolerances of x assuming that all input value tolerances and the
output tolerances are rss curves. */
wc_mintypmax_rss(x,sigmas):=float(block([rssparams:wc_getrssparams(x)],
-----------------------------------------------------------------------
Summary of changes:
share/contrib/rtest_wrstcse.mac | 2 ++
share/contrib/wrstcse.mac | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-24 19:11:01
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
from 8b7768a9fa06c392e33165f4a0fc59642d87662a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c02eb9c3db662e637cb5fe8c2fbba0f796025d42
Author: Raymond Toy <toy...@gm...>
Date: Sat Aug 23 15:24:38 2025 -0700
Run update_examples to regenerate examples
This also allows syntax highlighting if enabled.
diff --git a/doc/info/MathFunctions.texi.m4 b/doc/info/MathFunctions.texi.m4
index a97f6df96..fa376e956 100644
--- a/doc/info/MathFunctions.texi.m4
+++ b/doc/info/MathFunctions.texi.m4
@@ -46,7 +46,7 @@ distributes over the elements of a list.
@c abs(%e+%i);
@c abs([inf, infinity, minf]);
@c ===end===
-@example
+@example maxima
@group
(%i1) abs([-4, 0, 1, 1+%i]);
(%o1) [4, 0, 1, sqrt(2)]
@@ -74,7 +74,7 @@ Simplification of expressions containing @code{abs}:
@c abs(abs(x));
@c abs(conjugate(x));
@c ===end===
-@example
+@example maxima
@group
(%i1) abs(x^2);
2
@@ -109,7 +109,7 @@ transform of @code{abs}: see @mrefdot{laplace}
@c integrate(abs(x),x,-2,%pi);
@c laplace(abs(x),x,s);
@c ===end===
-@example
+@example maxima
@group
(%i1) diff(x*abs(x),x),expand;
(%o1) 2 abs(x)
@@ -183,7 +183,7 @@ Here are examples of the simplifications that @code{ceiling} knows about:
@c ceiling (x);
@c tex (ceiling (a));
@c ===end===
-@example
+@example maxima
@group
(%i1) ceiling (ceiling (x));
(%o1) ceiling(x)
@@ -224,7 +224,7 @@ can use this information; for example:
@c floor (f(x));
@c ceiling (f(x) - 1);
@c ===end===
-@example
+@example maxima
(%i1) declare (f, integervalued)$
@group
(%i2) floor (f(x));
@@ -253,7 +253,7 @@ Example use:
@c unitfrac (36/37);
@c apply ("+", %);
@c ===end===
-@example
+@example maxima
@group
(%i1) unitfrac(r) := block([uf : [], q],
if not(ratnump(r)) then
@@ -353,7 +353,7 @@ are examples of the simplifications that @code{floor} knows about:
@c floor (x);
@c tex (floor (a));
@c ===end===
-@example
+@example maxima
@group
(%i1) floor (ceiling (x));
(%o1) ceiling(x)
@@ -394,7 +394,7 @@ can use this information; for example:
@c floor (f(x));
@c ceiling (f(x) - 1);
@c ===end===
-@example
+@example maxima
(%i1) declare (f, integervalued)$
@group
(%i2) floor (f(x));
@@ -654,7 +654,7 @@ calculates the absolute value of @code{x + %i*y} as
@c cabs (exp (3/2 * %pi * %i));
@c cabs (17 * exp (2 * %i));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs (1);
(%o1) 1
@@ -691,7 +691,7 @@ some properties of the variables involved not being known:
@c assume(a>0,b>0);
@c cabs (a+%i*b);
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs (a+%i*b);
2 2
@@ -746,7 +746,7 @@ Examples with @mref{sqrt} and @mrefdot{sin}
@c cabs(sqrt(1+%i*x));
@c cabs(sin(x+%i*y));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(sqrt(1+%i*x));
2 1/4
@@ -765,7 +765,7 @@ the calculation of the absolute value with a complex argument:
@c ===beg===
@c cabs(erf(x+%i*y));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(erf(x+%i*y));
2
@@ -786,7 +786,7 @@ example for @mrefdot{bessel_j}
@c ===beg===
@c cabs(bessel_j(1,%i));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(bessel_j(1,%i));
(%o1) bessel_i(1, 1)
@@ -822,7 +822,7 @@ Examples:
@c carg (exp (3/2 * %pi * %i));
@c carg (17 * exp (2 * %i));
@c ===end===
-@example
+@example maxima
@group
(%i1) carg (1);
(%o1) 0
@@ -867,7 +867,7 @@ some properties of the variables involved not being known:
@c assume(a>0,b>0);
@c carg (a+%i*b);
@c ===end===
-@example
+@example maxima
@group
(%i1) carg (a+%i*b);
(%o1) atan2(b, a)
@@ -910,7 +910,7 @@ Returns the complex conjugate of @var{x}.
@c conjugate (ii);
@c conjugate (xx + yy);
@c ===end===
-@example
+@example maxima
@group
(%i1) declare ([aa, bb], real, cc, complex, ii, imaginary);
(%o1) done
@@ -959,7 +959,7 @@ Example:
@c imagpart (1);
@c imagpart (sqrt(2)*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) imagpart (a+b*%i);
(%o1) b
@@ -999,11 +999,11 @@ Example:
@c polarform(1+%i);
@c polarform(1+2*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) polarform(a+b*%i);
- 2 2 %i atan2(b, a)
-(%o1) sqrt(b + a ) %e
+ %i atan2(b, a) 2 2
+(%o1) %e sqrt(b + a )
@end group
@group
(%i2) polarform(1+%i);
@@ -1041,7 +1041,7 @@ Example:
@c realpart (sqrt(2)*%i);
@c realpart (1);
@c ===end===
-@example
+@example maxima
@group
(%i1) realpart (a+b*%i);
(%o1) a
@@ -1079,7 +1079,7 @@ Example:
@c rectform(sqrt(b^2+a^2)*%e^(%i*atan2(b, a)));
@c rectform(sqrt(5)*%e^(%i*atan(2)));
@c ===end===
-@example
+@example maxima
@group
(%i1) rectform(sqrt(2)*%e^(%i*%pi/4));
(%o1) %i + 1
@@ -1151,7 +1151,7 @@ Examples:
@c binomial (x + 7, x);
@c binomial (11, y);
@c ===end===
-@example
+@example maxima
@group
(%i1) binomial (11, 7);
(%o1) 330
@@ -1204,7 +1204,7 @@ Example:
@c (n + 1)*(n + 1)*n!;
@c factcomb (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) sumsplitfact;
(%o1) true
@@ -1287,7 +1287,7 @@ evaluated in float or bigfloat precision.
@c [4,77!, (1.0+%i)!];
@c [2.86b0!, (1.0b0+%i)!];
@c ===end===
-@example
+@example maxima
@group
(%i1) factlim : 10;
(%o1) 10
@@ -1317,7 +1317,7 @@ operand.
@c [(%i + 1)!, %pi!, %e!, (cos(1) + sin(1))!];
@c ev (%, numer, %enumer);
@c ===end===
-@example
+@example maxima
@group
(%i1) [(%i + 1)!, %pi!, %e!, (cos(1) + sin(1))!];
(%o1) [(%i + 1)!, %pi!, %e!, (sin(1) + cos(1))!]
@@ -1349,7 +1349,7 @@ Thus @code{x!} may be replaced even in a quoted expression.
@c ===beg===
@c '([0!, (7/2)!, 4.77!, 8!, 20!]);
@c ===end===
-@example
+@example maxima
@group
(%i1) '([0!, (7/2)!, 4.77!, 8!, 20!]);
105 sqrt(%pi)
@@ -1364,7 +1364,7 @@ Maxima knows the derivative of the factorial function.
@c ===beg===
@c diff(x!,x);
@c ===end===
-@example
+@example maxima
@group
(%i1) diff(x!,x);
(%o1) x! psi (x + 1)
@@ -1378,7 +1378,7 @@ simplification of expressions with the factorial function.
@c ===beg===
@c (n+1)!/n!,factorial_expand:true;
@c ===end===
-@example
+@example maxima
@group
(%i1) (n+1)!/n!,factorial_expand:true;
(%o1) n + 1
@@ -1453,7 +1453,7 @@ which differ by an integer.
@c n!/(n+2)!;
@c minfactorial (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) n!/(n+2)!;
n!
@@ -1490,7 +1490,7 @@ When @code{sumsplitfact} is @code{false},
@c n!/(n+2)!;
@c factcomb(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) sumsplitfact;
(%o1) true
@@ -1581,7 +1581,7 @@ When @code{%emode} is @code{false}, no special simplification of
@c %e^(%pi*%i*120/144);
@c %e^(%pi*%i*121/144);
@c ===end===
-@example
+@example maxima
@group
(%i1) %emode;
(%o1) true
@@ -1651,7 +1651,7 @@ See also @mref{ev} and @mrefdot{numer}
@c 2*%e^1;
@c 2*%e^x;
@c ===end===
-@example
+@example maxima
@group
(%i1) %enumer;
(%o1) false
@@ -1723,7 +1723,7 @@ See @mrefdot{%emode}
@c demoivre: not demoivre;
@c %e^(a + b*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) demoivre;
(%o1) false
@@ -1804,87 +1804,65 @@ Examples:
@c map (lambda ([x], li [2] (x)), L);
@c map (lambda ([x], li [3] (x)), L);
@c ===end===
-@example
+RETRIEVE: End of file encountered.
+ -- an error. To debug this try: debugmode(true);
+@example maxima
@group
(%i1) assume (x > 0);
(%o1) [x > 0]
@end group
@group
(%i2) integrate ((log (1 - t)) / t, t, 0, x);
-(%o2) - li (x)
- 2
+Is x - 1 positive, negative or zero?
+
@end group
@group
-(%i3) li[4](1);
- 4
- %pi
-(%o3) ----
- 90
+Is x - 1 positive, negative or zero?
+li[4](1);
@end group
@group
-(%i4) li[5](1);
-(%o4) zeta(5)
+Is x - 1 positive, negative or zero?
+li[5](1);
@end group
@group
-(%i5) li[2](1/2);
- 2 2
- %pi log (2)
-(%o5) ---- - -------
- 12 2
+Is x - 1 positive, negative or zero?
+li[2](1/2);
@end group
@group
-(%i6) li[2](%i);
- 2
- %pi
-(%o6) %catalan %i - ----
- 48
+Is x - 1 positive, negative or zero?
+li[2](%i);
@end group
@group
-(%i7) li[2](1+%i);
- 2
- %i %pi log(2) %pi
-(%o7) ------------- + ---- + %catalan %i
- 4 16
+Is x - 1 positive, negative or zero?
+li[2](1+%i);
@end group
@group
-(%i8) li [2] (7);
-(%o8) li (7)
- 2
+Is x - 1 positive, negative or zero?
+li [2] (7);
@end group
@group
-(%i9) li [2] (7), numer;
-(%o9) 1.2482731820994244 - 6.1132570288179915 %i
+Is x - 1 positive, negative or zero?
+li [2] (7), numer;
@end group
@group
-(%i10) li [3] (7);
-(%o10) li (7)
- 3
+Is x - 1 positive, negative or zero?
+li [3] (7);
@end group
@group
-(%i11) li [2] (7), numer;
-(%o11) 1.2482731820994244 - 6.1132570288179915 %i
+Is x - 1 positive, negative or zero?
+li [2] (7), numer;
@end group
@group
-(%i12) L : makelist (i / 4.0, i, 0, 8);
-(%o12) [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]
+Is x - 1 positive, negative or zero?
+L : makelist (i / 4.0, i, 0, 8);
@end group
@group
-(%i13) map (lambda ([x], li [2] (x)), L);
-(%o13) [0.0, 0.2676526390827326, 0.5822405264650125,
-0.978469392930306, 1.6449340668482264,
-2.1901770114416452 - 0.7010261415046585 %i,
-2.3743952702724798 - 1.2738062049196004 %i,
-2.448686765338203 - 1.7580848482107874 %i,
-2.4674011002723395 - 2.177586090303602 %i]
+Is x - 1 positive, negative or zero?
+map (lambda ([x], li [2] (x)), L);
@end group
@group
-(%i14) map (lambda ([x], li [3] (x)), L);
-(%o14) [0.0, 0.25846139579657335, 0.5372131936080402,
-0.8444258088622044, 1.2020569031595942,
-1.6428668813178295 - 0.07821473138972386 %i,
-2.0608775073202805 - 0.258241985293288 %i,
-2.433418898226189 - 0.49192601879440423 %i,
-2.762071906228924 - 0.7546938294602477 %i]
+Is x - 1 positive, negative or zero?
+map (lambda ([x], li [3] (x)), L);
@end group
@end example
@@ -2015,7 +1993,7 @@ subexpressions of the form @code{a1*log(b1) + a2*log(b2) + c} into
@c 2*(a*log(x) + 2*a*log(y))$
@c logcontract(%);
@c ===end===
-@example
+@example maxima
(%i1) 2*(a*log(x) + 2*a*log(y))$
@group
(%i2) logcontract(%);
@@ -2062,7 +2040,7 @@ When @code{logexpand} is @code{true},
@c ===beg===
@c log(n^2), logexpand=true;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(n^2), logexpand=true;
(%o1) 2 log(n)
@@ -2075,7 +2053,7 @@ When @code{logexpand} is @code{all},
@c ===beg===
@c log(10*x), logexpand=all;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(10*x), logexpand=all;
(%o1) log(x) + log(10)
@@ -2089,7 +2067,7 @@ for rational numbers @code{a/b} with @code{a#1}.
@c ===beg===
@c log(a/(n + 1)), logexpand=super;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(a/(n + 1)), logexpand=super;
(%o1) log(a) - log(n + 1)
@@ -2104,7 +2082,7 @@ the logarithm of a product expression simplifies to a summation of logarithms.
@c log(my_product), logexpand=all;
@c log(my_product), logexpand=super;
@c ===end===
-@example
+@example maxima
@group
(%i1) my_product : product (X(i), i, 1, n);
n
@@ -2146,7 +2124,7 @@ these simplifications are disabled.
@c log(a/(n + 1));
@c log ('product (X(i), i, 1, n));
@c ===end===
-@example
+@example maxima
(%i1) logexpand : false $
@group
(%i2) log(n^2);
@@ -2681,7 +2659,7 @@ Examples:
@c [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
@c cos (sqrt(2)*%pi/3)];
@c ===end===
-@example
+@example maxima
(%i1) %piargs : false$
@group
(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
@@ -2737,7 +2715,7 @@ multiplied by an integer variable.
@c [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
@c cos (%pi/2 * m)];
@c ===end===
-@example
+@example maxima
(%i1) declare (n, integer, m, even)$
@group
(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
@@ -2789,7 +2767,7 @@ Examples:
@c %iargs : true$
@c [sin (%i * x), cos (%i * x), tan (%i * x)];
@c ===end===
-@example
+@example maxima
(%i1) %iargs : false$
@group
(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
@@ -2809,7 +2787,7 @@ Even when the argument is demonstrably real, the simplification is applied.
@c [featurep (x, imaginary), featurep (x, real)];
@c sin (%i * x);
@c ===end===
-@example
+@example maxima
(%i1) declare (x, imaginary)$
@group
(%i2) [featurep (x, imaginary), featurep (x, real)];
@@ -2879,7 +2857,7 @@ Examples:
@c assume(x>0, x<2*%pi)$
@c sin(x / 2);
@c ===end===
-@example
+@example maxima
(%i1) halfangles : false$
@group
(%i2) sin (x / 2);
@@ -2972,7 +2950,7 @@ Examples:
@c x+sin(3*x)/sin(x),trigexpand=true,expand;
@c trigexpand(sin(10*x+y));
@c ===end===
-@example
+@example maxima
@group
(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
2 2
@@ -3065,7 +3043,7 @@ See also @mref{poissimp}.
@c ===beg===
@c trigreduce(-sin(x)^2+3*cos(x)^2+x);
@c ===end===
-@example
+@example maxima
@group
(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
cos(2 x) cos(2 x) 1 1
@@ -3161,7 +3139,7 @@ possible.
@c ===beg===
@c trigrat(sin(3*a)/sin(a+%pi/3));
@c ===end===
-@example
+@example maxima
@group
(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1) sqrt(3) sin(2 a) + cos(2 a) - 1
@@ -3179,7 +3157,7 @@ Addison-Wesley), section 1.5.5, Morley theorem.
@c ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
@c trigrat (ac2);
@c ===end===
-@example
+@example maxima
(%i1) c : %pi/3 - a - b$
@group
(%i2) bc : sin(a)*sin(3*c)/sin(a+b);
@@ -3374,7 +3352,7 @@ Examples:
@c random (10.0);
@c random (100.0);
@c ===end===
-@example
+@example maxima
(%i1) s1: make_random_state (654321)$
@group
(%i2) set_random_state (s1);
-----------------------------------------------------------------------
Summary of changes:
doc/info/MathFunctions.texi.m4 | 180 ++++++++++++++++++-----------------------
1 file changed, 79 insertions(+), 101 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 16:31:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 8b7768a9fa06c392e33165f4a0fc59642d87662a (commit)
from d601b83ead2a673a754467893c42016da316f1a0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8b7768a9fa06c392e33165f4a0fc59642d87662a
Author: villate <vi...@fe...>
Date: Sun Aug 24 17:30:28 2025 +0100
Shows the figures of chapter 66 (graphs) in the PDF and info versions of the manual.
diff --git a/doc/info/graphs.texi b/doc/info/graphs.texi
index 9f2b1c05a..6f0c411aa 100644
--- a/doc/info/graphs.texi
+++ b/doc/info/graphs.texi
@@ -331,16 +331,14 @@ Example:
(%i3) draw_graph(grid)$
@end example
+@smallfigure{graphs01, Direct product of two graphs}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - constructions}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs01,6cm}
-@end ifhtml
-
@anchor{graph_union}
@deffn {Function} graph_union (@var{g1}, @var{g1})
Returns the union (sum) of graphs @var{g1} and @var{g2}.
@@ -879,9 +877,7 @@ Example:
(%o3) [[6, 7], [4, 5, 6], [1, 2], [2, 3, 4]]
@end example
-@ifhtml
-@image{figures/graphs13,6cm}
-@end ifhtml
+@smallfigure{graphs13, Graph with 2-connected vertices}
@opencatbox{Categories:}
@category{Package graphs}
@@ -910,16 +906,14 @@ Example:
(%i4) draw_graph(h, show_vertices=A, program=circular)$
@end example
+@smallfigure{graphs02, Bipartition of the vertices in a Heawood graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs02,6cm}
-@end ifhtml
-
@anchor{chromatic_index}
@deffn {Function} chromatic_index (@var{gr})
Returns the chromatic index of the graph @var{gr}.
@@ -1475,16 +1469,14 @@ Example:
(%i4) draw_graph(c, show_edges=vertices_to_cycle(hc))$
@end example
+@smallfigure{graphs03, Hamilton cycle of a cubic graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs03,6cm}
-@end ifhtml
-
@anchor{hamilton_path}
@deffn {Function} hamilton_path (@var{gr})
Returns the Hamilton path of the graph @var{gr} or an empty list if
@@ -1505,16 +1497,14 @@ Example:
(%i4) draw_graph(p, show_edges=vertices_to_path(hp))$
@end example
+@smallfigure{graphs04, Hamilton path of a Petersen graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs04,6cm}
-@end ifhtml
-
@anchor{isomorphism}
@deffn {Function} isomorphism (@var{gr1}, @var{gr2})
@@ -2032,16 +2022,14 @@ Example:
(%i4) draw_graph(d, show_vertices=mi)$
@end example
+@smallfigure{graphs05, Maximum independent set of a dodecahedral graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs05,6cm}
-@end ifhtml
-
@anchor{max_matching}
@deffn {Function} max_matching (@var{gr})
Returns a maximum matching of the graph @var{gr}.
@@ -2062,16 +2050,14 @@ Example:
(%i4) draw_graph(d, show_edges=m)$
@end example
+@smallfigure{graphs06, Maximum matching of a dodecahedral graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs06,6cm}
-@end ifhtml
-
@anchor{min_degree}
@deffn {Function} min_degree (@var{gr})
Returns the minimum degree of vertices of the graph @var{gr} and a
@@ -2151,16 +2137,14 @@ Example:
(%i4) draw_graph(g, show_edges=edges(t))$
@end example
+@smallfigure{graphs07, Minimum spanning of rectangular graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs07,6cm}
-@end ifhtml
-
@anchor{neighbors}
@deffn {Function} neighbors (@var{v}, @var{gr})
Returns the list of neighbors of the vertex @var{v} in the graph @var{gr}.
@@ -2414,16 +2398,14 @@ Example:
(%i4) draw_graph(d, show_edges=vertices_to_path(path))$
@end example
+@smallfigure{graphs08, Shortest path between two vertices in a dodecahedral graph}
+
@opencatbox{Categories:}
@category{Package graphs}
@category{Package graphs - properties}
@closecatbox
@end deffn
-@ifhtml
-@image{figures/graphs08,6cm}
-@end ifhtml
-
@anchor{shortest_weighted_path}
@deffn {Function} shortest_weighted_path (@var{u}, @var{v}, @var{gr})
Returns the length of the shortest weighted path and the shortest
@@ -3092,9 +3074,7 @@ Example 1:
vertex_size=0)$
@end example
-@ifhtml
-@image{figures/graphs09,6cm}
-@end ifhtml
+@smallfigure{graphs09, Example of the use of draw_graph to draw a graph}
Example 2:
@@ -3137,9 +3117,7 @@ Example 2:
)$
@end example
-@ifhtml
-@image{figures/graphs10,6cm}
-@end ifhtml
+@smallfigure{graphs10, Example of the use of draw_graph to draw a graph}
Example 3:
@@ -3186,9 +3164,7 @@ Example 3:
)$
@end example
-@ifhtml
-@image{figures/graphs11,6cm}
-@end ifhtml
+@smallfigure{graphs11, Example of the use of draw_graph to draw a graph}
Example 4:
@@ -3241,9 +3217,7 @@ Example 4:
)$
@end example
-@ifhtml
-@image{figures/graphs12,6cm}
-@end ifhtml
+@smallfigure{graphs12, Example of the use of draw_graph to draw a graph}
Example 5:
@@ -3260,9 +3234,7 @@ Example 5:
(%o3) done
@end example
-@ifhtml
-@image{figures/graphs14,6cm}
-@end ifhtml
+@smallfigure{graphs14, Example of the use of draw_graph to draw a graph}
Example 6:
@@ -3281,9 +3253,7 @@ Example 6:
(%o3) done
@end example
-@ifhtml
-@image{figures/graphs15,6cm}
-@end ifhtml
+@smallfigure{graphs15, Example of the use of draw_graph to draw a graph}
@opencatbox{Categories:}
@category{Package graphs}
-----------------------------------------------------------------------
Summary of changes:
doc/info/graphs.texi | 76 ++++++++++++++++------------------------------------
1 file changed, 23 insertions(+), 53 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 16:03:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via d601b83ead2a673a754467893c42016da316f1a0 (commit)
from c80a0a228fdc435dfb64476c0710a6344a0ce430 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d601b83ead2a673a754467893c42016da316f1a0
Author: villate <vi...@fe...>
Date: Sun Aug 24 17:03:13 2025 +0100
Fixes some typos.
diff --git a/doc/info/figures/README b/doc/info/figures/README
index 781332994..071959e88 100644
--- a/doc/info/figures/README
+++ b/doc/info/figures/README
@@ -36,17 +36,17 @@ of the manual using the following syntax:
Notice that no file-name extension or directory should be given. That
way, "plotting6.png" will included in the HTML version of the manual
-and "plotting6.pdf" will be inserted with a width of 8 cm into the PDF
+and "plotting6.pdf" will be inserted with a width of 10 cm into the PDF
version of the manual. In the info version of the manual the following
will appear:
(Figure plotting6: Descriptive text)
-The "Descriptive text" is important to describe the figur for someone who
+The "Descriptive text" is important to describe the figure for someone who
is not looking at it. For instance, when a user is reading a manual section
using "describe" in the Maxima console, or a blind user hearing to a screen
-reader describe whats in an HTML page of the manual.
+reader describe what's in an HTML page of the manual.
-The is an older macro, @figure, which takes only one argument, the name of
+There is an older macro, @figure, which takes only one argument, the name of
the file, and will use that name also as descriptive text.
-----------------------------------------------------------------------
Summary of changes:
doc/info/figures/README | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 15:00:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via c80a0a228fdc435dfb64476c0710a6344a0ce430 (commit)
from 6466d800d08b62a492725b5aacc48fcc7dbe7ede (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c80a0a228fdc435dfb64476c0710a6344a0ce430
Author: villate <vi...@fe...>
Date: Sun Aug 24 15:59:47 2025 +0100
Updates the URL's.
diff --git a/doc/info/trigtools.texi.m4 b/doc/info/trigtools.texi.m4
index 290939bdd..949e818a0 100644
--- a/doc/info/trigtools.texi.m4
+++ b/doc/info/trigtools.texi.m4
@@ -188,7 +188,7 @@ coth(x)=c2trig(coth(x));
(%o5) coth(x) = %i cot(%i x)
@end example
-@item see @url{http://www.math.utexas.edu/pipermail/maxima/2013/034585.html}
+@item see @url{https://maxima.sourceforge.io/ext/list_archives/2013/msg03230.html}
@example
(%i6) cos(p+q*%i);
(%o6) cos(%i q + p)
@@ -898,7 +898,7 @@ Examples:
5 239 4
@end example
-@item see @url{http://en.wikipedia.org/wiki/Machin-like_formula}
+@item see @url{https://en.wikipedia.org/wiki/Machin-like_formula}
@example
(%i8) 12*atan(1/49)+32*atan(1/57)-5*atan(1/239)+12*atan(1/110443)$
%=atan_contract(%);
@@ -919,7 +919,7 @@ Examples:
@section References
@enumerate
-@item @url{http://maxima.sourceforge.net}
+@item @url{https://maxima.sourceforge.io}
@end enumerate
-----------------------------------------------------------------------
Summary of changes:
doc/info/trigtools.texi.m4 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 14:13:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 6466d800d08b62a492725b5aacc48fcc7dbe7ede (commit)
from 8e5b42f0bc211c6fbb088214b6406464fe3346d2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6466d800d08b62a492725b5aacc48fcc7dbe7ede
Author: villate <vi...@fe...>
Date: Sun Aug 24 15:12:36 2025 +0100
Updates the procedure to include figures in the manual.
diff --git a/doc/info/README b/doc/info/README
index c967fc313..c6f5f582e 100644
--- a/doc/info/README
+++ b/doc/info/README
@@ -37,6 +37,11 @@ the user would need to select one (or all) without knowing how they
differ. But using `@fname`, there's only one function and the help is
imediately displayed.
+Adding figures to the manual
+----------------------------
+
+Please read the README file in the subdirectory figures.
+
How to test the documentation?
==============================
@@ -58,11 +63,14 @@ have proven helpful:
make pdf PDFTEX=xetex
to select xetex for building it.
-
- Do all of the documentation types look like they should?
- Is the documentation accessible to the ? and ?? commands of maxima?
+- Can the HTML version of the manual be browsed with a Web browser?
+ (it should be found in the subdirectory share/maxima/<version_number>/doc/html
+ in the installation directory.
+
Documentation internals
=======================
diff --git a/doc/info/figures/README b/doc/info/figures/README
index bf9a65a75..781332994 100644
--- a/doc/info/figures/README
+++ b/doc/info/figures/README
@@ -32,15 +32,25 @@ Once the files "plotting6.pdf" and "plotting6.png" have been created
in the doc/info/figures directory, they should be added in a section
of the manual using the following syntax:
-@ifnotinfo
-@image{figures/plotting6,8cm}
-@end ifnotinfo
+@altfigure{plotting6,Descriptive text}
Notice that no file-name extension or directory should be given. That
way, "plotting6.png" will included in the HTML version of the manual
and "plotting6.pdf" will be inserted with a width of 8 cm into the PDF
-version of the manual.
+version of the manual. In the info version of the manual the following
+will appear:
+ (Figure plotting6: Descriptive text)
+The "Descriptive text" is important to describe the figur for someone who
+is not looking at it. For instance, when a user is reading a manual section
+using "describe" in the Maxima console, or a blind user hearing to a screen
+reader describe whats in an HTML page of the manual.
+
+The is an older macro, @figure, which takes only one argument, the name of
+the file, and will use that name also as descriptive text.
+
+
+-----------------------------------------------------------
# Added by Gunter Königsmann on 2015
MACROS THAT HELP CREATING FIGURE FILES IN THE NEEDED FORMATS
-----------------------------------------------------------------------
Summary of changes:
doc/info/README | 10 +++++++++-
doc/info/figures/README | 18 ++++++++++++++----
2 files changed, 23 insertions(+), 5 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 14:00:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 8e5b42f0bc211c6fbb088214b6406464fe3346d2 (commit)
from 327e910b84002d70d46c4f6ef2c4252d1b89f59c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8e5b42f0bc211c6fbb088214b6406464fe3346d2
Author: villate <vi...@fe...>
Date: Sun Aug 24 15:00:05 2025 +0100
Replaces @image for the macro altfigure.
diff --git a/doc/info/orthopoly.texi.m4 b/doc/info/orthopoly.texi.m4
index 6921f2e18..968ae195a 100644
--- a/doc/info/orthopoly.texi.m4
+++ b/doc/info/orthopoly.texi.m4
@@ -553,9 +553,7 @@ a Legendre polynomial.
(%o1)
@end example
-@ifnotinfo
-@image{figures/orthopoly1,8cm}
-@end ifnotinfo
+@altfigure{orthopoly1,Plot of the Legrende polynomial of order 5}
The @i{entire} expression @code{legendre_p (5, x)} is quoted; this is
different than just quoting the function name using @code{'legendre_p (5, @var{x})}.
-----------------------------------------------------------------------
Summary of changes:
doc/info/orthopoly.texi.m4 | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-24 12:51:19
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 327e910b84002d70d46c4f6ef2c4252d1b89f59c (commit)
from e6711073200495b969413b371889fb67bed8c007 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 327e910b84002d70d46c4f6ef2c4252d1b89f59c
Author: villate <vi...@fe...>
Date: Sun Aug 24 13:50:21 2025 +0100
Replaces @image for the macro @altfigure.
diff --git a/doc/info/Elliptic.texi.m4 b/doc/info/Elliptic.texi.m4
index c62b67f72..fd4754f2f 100644
--- a/doc/info/Elliptic.texi.m4
+++ b/doc/info/Elliptic.texi.m4
@@ -369,11 +369,9 @@ Some examples:
@end group
@end example
-@ifnotinfo
Compare this plot with the plot from @urldlmf{22.16.iv}:
-@image{figures/jacobi_am}
-@end ifnotinfo
+@altfigure{jacobi_am,Plot of the jacobi_am function for 4 different parameters}
@opencatbox{Categories:}
@category{Elliptic functions}
diff --git a/doc/info/colnew.texi.m4 b/doc/info/colnew.texi.m4
index dabec9fca..f069e2638 100644
--- a/doc/info/colnew.texi.m4
+++ b/doc/info/colnew.texi.m4
@@ -1265,10 +1265,7 @@ above, and the figure below,
@end ifnotinfo
can be compared with Figure 1 in @ref{ascher-1981a,, Ascher 1981a}.
-@ifnotinfo
-@image{figures/colnew-ex2,8cm}
-@end ifnotinfo
-
+@altfigure{colnew-ex2,colnew example 2: deformation of spherical cap}
@subsection Example 3: Rotating flow of viscous incompressible fluid
@@ -1745,15 +1742,9 @@ before @var{e} is set, so that it can be changed in the program.
@end group
@end example
-@ifnotinfo
-The figure below shows the solution for
+he figure below shows the solution for
@math{ε=[10^{-2},10^{-3},10^{-4},10^{-5},10^{-6}]}.
-
-@image{figures/colnew-ex5,8cm}
-@end ifnotinfo
-
-
-
+@altfigure{colnew-ex5,colnew example 5: solution of a boundary value problem}
@node References for colnew, , Examples for colnew, Package colnew
@section References for colnew
-----------------------------------------------------------------------
Summary of changes:
doc/info/Elliptic.texi.m4 | 4 +---
doc/info/colnew.texi.m4 | 15 +++------------
2 files changed, 4 insertions(+), 15 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: peterpall <pet...@us...> - 2025-08-24 06:29:00
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via e6711073200495b969413b371889fb67bed8c007 (commit)
from cea93eb38e42058a968f849fc287eff469179e97 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e6711073200495b969413b371889fb67bed8c007
Author: Gunter Königsmann <gu...@pe...>
Date: Sun Aug 24 08:27:43 2025 +0200
wrstcse: Further improvements
- Better documentation for the changed command
- Corrected a bug that example shows and that wasn't triggered by the
test suite
- Added the correction to the test suite
diff --git a/doc/info/wrstcse.texi b/doc/info/wrstcse.texi
index 7fc865378..37d98a30e 100644
--- a/doc/info/wrstcse.texi
+++ b/doc/info/wrstcse.texi
@@ -754,22 +754,37 @@ given values.
Example:
@c ===beg===
@c load("wrstcse")$
-@c V_F: U_Diode=wc_mintypmax2tol(tol[1],.5,.75,.82);
-@c lhs(V_F)=wc_mintypmax(rhs(V_F));
+@c vals: [U_Diode=wc_mintypmax2tol(tol[1],.5,.75,.82),
+@c R=wc_mintypmax2tol(tol[2],1,1.1,1.3),
+@c U_In=wc_mintypmax2tol(tol[3],0,0,15)];
+@c wc_inputvalueranges(vals);
@c ===end===
@example maxima
(%i1) load("wrstcse")$
@group
-(%i2) V_F: U_Diode=wc_mintypmax2tol(tol[1],.5,.75,.82);
- 2
-(%o2) U_Diode = - 0.09000000000000002 tol
- 1
- + 0.15999999999999998 tol + 0.75
- 1
+(%i2) vals: [U_Diode=wc_mintypmax2tol(tol[1],.5,.75,.82),
+ R=wc_mintypmax2tol(tol[2],1,1.1,1.3),
+ U_In=wc_mintypmax2tol(tol[3],0,0,15)];
+(%o2) [U_Diode = 0.034999999999999976 (|tol | + tol )
+ | 1| 1
+ + 0.125 (tol - |tol |) + 0.75,
+ 1 | 1|
+ 2
+R = 0.04999999999999993 tol + 0.15000000000000002 tol + 1.1,
+ 2 2
+ 15 (|tol | + tol )
+ | 3| 3
+U_In = ------------------]
+ 2
@end group
@group
-(%i3) lhs(V_F)=wc_mintypmax(rhs(V_F));
-(%o3) U_Diode = [min = 0.5, typ = 0.75, max = 0.8199999999999998]
+(%i3) wc_inputvalueranges(vals);
+(%o3)
+ [ U_Diode min = 0.5 typ = 0.75 max = 0.82 ]
+ [ ]
+ [ R min = 1.0 typ = 1.1 max = 1.2999999999999998 ]
+ [ ]
+ [ U_In min = 0 typ = 0 max = 15 ]
@end group
@end example
@end deffn
diff --git a/share/contrib/rtest_wrstcse.mac b/share/contrib/rtest_wrstcse.mac
index fe82aba98..122479a1e 100644
--- a/share/contrib/rtest_wrstcse.mac
+++ b/share/contrib/rtest_wrstcse.mac
@@ -1,28 +1,36 @@
(load("wrstcse"),done);
done;
-(val1:a=wc_mintypmax2tol(tol[1],a,b,c),done);
+(val1:a=wc_mintypmax2tol(tol[1],-2,1,3),done);
done;
ratsimp(subst(tol[1]=-1,rhs(val1)));
-a;
+-2;
ratsimp(subst(tol[1]=0,rhs(val1)));
-b;
+1;
ratsimp(subst(tol[1]=1,rhs(val1)));
-c;
-(val1:a=wc_mintypmax2tol(tol[1],-2,1,3),done);
+3;
+(val1:a=wc_mintypmax2tol(tol[1],-1,-1,2),done);
done;
-ratsimp(subst(tol[1]=-2,rhs(val1)));
-a;
+ratsimp(subst(tol[1]=-1,rhs(val1)));
+-1;
+ratsimp(subst(tol[1]=0,rhs(val1)));
+-1;
ratsimp(subst(tol[1]=1,rhs(val1)));
-b;
-ratsimp(subst(tol[1]=3,rhs(val1)));
-c;
-(val1:a=wc_mintypmax2tol(tol[1],-1,-1,2),done);
+2;
+(val1:a=wc_mintypmax2tol(tol[1],-1/2,0,15),done);
done;
ratsimp(subst(tol[1]=-1,rhs(val1)));
-a;
+-1/2;
+ratsimp(subst(tol[1]=0,rhs(val1)));
+0;
+ratsimp(subst(tol[1]=1,rhs(val1)));
+15;
+(val1:a=wc_mintypmax2tol(tol[1],a,b,c),done);
+done;
ratsimp(subst(tol[1]=-1,rhs(val1)));
+a;
+ratsimp(subst(tol[1]=0,rhs(val1)));
b;
-ratsimp(subst(tol[1]=2,rhs(val1)));
+ratsimp(subst(tol[1]=1,rhs(val1)));
c;
(vals:wc_tolappend([val1],[b=2+tol[1]]),done);
done;
diff --git a/share/contrib/wrstcse.mac b/share/contrib/wrstcse.mac
index dcb57c8ed..b31de01a1 100644
--- a/share/contrib/wrstcse.mac
+++ b/share/contrib/wrstcse.mac
@@ -151,7 +151,7 @@ wc_mintypmax2tol(wc_tol,wc_min,wc_typ,wc_max):=block([wc_try,wc_dff],
wc_try:
wc_typ+
(wc_tol+abs(wc_tol))/2*(wc_max-wc_typ)+
- (wc_tol-abs(wc_tol))/2*(wc_min-wc_typ),
+ (wc_tol-abs(wc_tol))/2*(wc_typ-wc_min),
return(wc_try)
);
-----------------------------------------------------------------------
Summary of changes:
doc/info/wrstcse.texi | 35 +++++++++++++++++++++++++----------
share/contrib/rtest_wrstcse.mac | 34 +++++++++++++++++++++-------------
share/contrib/wrstcse.mac | 2 +-
3 files changed, 47 insertions(+), 24 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: peterpall <pet...@us...> - 2025-08-24 05:38:24
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via cea93eb38e42058a968f849fc287eff469179e97 (commit)
from 68d0a0a417b2a22e1634eb937a880e802ea67e78 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cea93eb38e42058a968f849fc287eff469179e97
Author: Gunter Königsmann <gu...@pe...>
Date: Sun Aug 24 07:35:55 2025 +0200
wrstcse: wc_mintypmax2tol now no more overswings its target values.
The original version did try to find a quadratic equation that met
the three values for tol[n]=-1,0 and 1. The new version now replaces
this with two linear equations coupled by an abs(), if the quadratic
equation overswings.
diff --git a/doc/info/wrstcse.texi b/doc/info/wrstcse.texi
index 0c7ece418..7fc865378 100644
--- a/doc/info/wrstcse.texi
+++ b/doc/info/wrstcse.texi
@@ -751,11 +751,6 @@ R_4 = 1000.0 (0.01 tol + 1)]
Generates a parameter that uses the tolerance @var{tolname} and tolerates between the
given values.
-Caveat: This function returns a quadratic equation. If
-@code{typval-minval} greatly differs from @code{maxval-typval} the
-resulting curve will overshoot, if this parameter is used with values
-of @var{tolname} that aren't integers.
-
Example:
@c ===beg===
@c load("wrstcse")$
diff --git a/share/contrib/rtest_wrstcse.mac b/share/contrib/rtest_wrstcse.mac
index 32cc8c581..fe82aba98 100644
--- a/share/contrib/rtest_wrstcse.mac
+++ b/share/contrib/rtest_wrstcse.mac
@@ -8,6 +8,22 @@ ratsimp(subst(tol[1]=0,rhs(val1)));
b;
ratsimp(subst(tol[1]=1,rhs(val1)));
c;
+(val1:a=wc_mintypmax2tol(tol[1],-2,1,3),done);
+done;
+ratsimp(subst(tol[1]=-2,rhs(val1)));
+a;
+ratsimp(subst(tol[1]=1,rhs(val1)));
+b;
+ratsimp(subst(tol[1]=3,rhs(val1)));
+c;
+(val1:a=wc_mintypmax2tol(tol[1],-1,-1,2),done);
+done;
+ratsimp(subst(tol[1]=-1,rhs(val1)));
+a;
+ratsimp(subst(tol[1]=-1,rhs(val1)));
+b;
+ratsimp(subst(tol[1]=2,rhs(val1)));
+c;
(vals:wc_tolappend([val1],[b=2+tol[1]]),done);
done;
length(unique(sort(listofvars(vals))));
diff --git a/share/contrib/wrstcse.mac b/share/contrib/wrstcse.mac
index 5538d3262..dcb57c8ed 100644
--- a/share/contrib/wrstcse.mac
+++ b/share/contrib/wrstcse.mac
@@ -140,11 +140,20 @@ wc_inputvalueranges(wc_x):=apply('matrix,
);
/* A function that generates an equation out of the min, typ and maximum value for an element */
-
-wc_mintypmax2tol(wc_tol,wc_min,wc_typ,wc_max):=
- ((-2*wc_typ+wc_min+wc_max)*wc_tol^2)/2-((wc_min-wc_max)*wc_tol)/2+wc_typ;
-
-
+wc_mintypmax2tol(wc_tol,wc_min,wc_typ,wc_max):=block([wc_try,wc_dff],
+ if wc_min>wc_typ then warning("wc_mintypmax2tol: Min value bigger than typ value"),
+ if wc_typ>wc_max then warning("wc_mintypmax2tol: Max value smaller than typ value"),
+ /* Try to find a quadratic equation that hits all three points */
+ wc_try:((-2*wc_typ+wc_min+wc_max)*wc_tol^2)/2-((wc_min-wc_max)*wc_tol)/2+wc_typ,wc_tol,
+ /* Let's see if the quadratic equation overswings the targets */
+ wc_dff:diff(wc_try,wc_tol),
+ if (subst (wc_tol=-1,wc_dff)<0) or (subst (wc_tol=0,wc_dff)<0) or (subst (wc_tol=1,wc_dff)<0) then
+ wc_try:
+ wc_typ+
+ (wc_tol+abs(wc_tol))/2*(wc_max-wc_typ)+
+ (wc_tol-abs(wc_tol))/2*(wc_min-wc_typ),
+ return(wc_try)
+);
/* How many sigmas the range of tol[x]=-1...1 is assumed to be wide */
wc_defaultsigma:6;
-----------------------------------------------------------------------
Summary of changes:
doc/info/wrstcse.texi | 5 -----
share/contrib/rtest_wrstcse.mac | 16 ++++++++++++++++
share/contrib/wrstcse.mac | 19 ++++++++++++++-----
3 files changed, 30 insertions(+), 10 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-08-23 22:25:03
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, rtoy-mathfunctions-update-examples has been created
at 1a3ababfb7e40af302a4ab845c78f3ea3dd3bf32 (commit)
- Log -----------------------------------------------------------------
commit 1a3ababfb7e40af302a4ab845c78f3ea3dd3bf32
Author: Raymond Toy <toy...@gm...>
Date: Sat Aug 23 15:24:38 2025 -0700
Run update_examples to regenerate examples
This also allows syntax highlighting if enabled.
diff --git a/doc/info/MathFunctions.texi.m4 b/doc/info/MathFunctions.texi.m4
index a97f6df96..fa376e956 100644
--- a/doc/info/MathFunctions.texi.m4
+++ b/doc/info/MathFunctions.texi.m4
@@ -46,7 +46,7 @@ distributes over the elements of a list.
@c abs(%e+%i);
@c abs([inf, infinity, minf]);
@c ===end===
-@example
+@example maxima
@group
(%i1) abs([-4, 0, 1, 1+%i]);
(%o1) [4, 0, 1, sqrt(2)]
@@ -74,7 +74,7 @@ Simplification of expressions containing @code{abs}:
@c abs(abs(x));
@c abs(conjugate(x));
@c ===end===
-@example
+@example maxima
@group
(%i1) abs(x^2);
2
@@ -109,7 +109,7 @@ transform of @code{abs}: see @mrefdot{laplace}
@c integrate(abs(x),x,-2,%pi);
@c laplace(abs(x),x,s);
@c ===end===
-@example
+@example maxima
@group
(%i1) diff(x*abs(x),x),expand;
(%o1) 2 abs(x)
@@ -183,7 +183,7 @@ Here are examples of the simplifications that @code{ceiling} knows about:
@c ceiling (x);
@c tex (ceiling (a));
@c ===end===
-@example
+@example maxima
@group
(%i1) ceiling (ceiling (x));
(%o1) ceiling(x)
@@ -224,7 +224,7 @@ can use this information; for example:
@c floor (f(x));
@c ceiling (f(x) - 1);
@c ===end===
-@example
+@example maxima
(%i1) declare (f, integervalued)$
@group
(%i2) floor (f(x));
@@ -253,7 +253,7 @@ Example use:
@c unitfrac (36/37);
@c apply ("+", %);
@c ===end===
-@example
+@example maxima
@group
(%i1) unitfrac(r) := block([uf : [], q],
if not(ratnump(r)) then
@@ -353,7 +353,7 @@ are examples of the simplifications that @code{floor} knows about:
@c floor (x);
@c tex (floor (a));
@c ===end===
-@example
+@example maxima
@group
(%i1) floor (ceiling (x));
(%o1) ceiling(x)
@@ -394,7 +394,7 @@ can use this information; for example:
@c floor (f(x));
@c ceiling (f(x) - 1);
@c ===end===
-@example
+@example maxima
(%i1) declare (f, integervalued)$
@group
(%i2) floor (f(x));
@@ -654,7 +654,7 @@ calculates the absolute value of @code{x + %i*y} as
@c cabs (exp (3/2 * %pi * %i));
@c cabs (17 * exp (2 * %i));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs (1);
(%o1) 1
@@ -691,7 +691,7 @@ some properties of the variables involved not being known:
@c assume(a>0,b>0);
@c cabs (a+%i*b);
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs (a+%i*b);
2 2
@@ -746,7 +746,7 @@ Examples with @mref{sqrt} and @mrefdot{sin}
@c cabs(sqrt(1+%i*x));
@c cabs(sin(x+%i*y));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(sqrt(1+%i*x));
2 1/4
@@ -765,7 +765,7 @@ the calculation of the absolute value with a complex argument:
@c ===beg===
@c cabs(erf(x+%i*y));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(erf(x+%i*y));
2
@@ -786,7 +786,7 @@ example for @mrefdot{bessel_j}
@c ===beg===
@c cabs(bessel_j(1,%i));
@c ===end===
-@example
+@example maxima
@group
(%i1) cabs(bessel_j(1,%i));
(%o1) bessel_i(1, 1)
@@ -822,7 +822,7 @@ Examples:
@c carg (exp (3/2 * %pi * %i));
@c carg (17 * exp (2 * %i));
@c ===end===
-@example
+@example maxima
@group
(%i1) carg (1);
(%o1) 0
@@ -867,7 +867,7 @@ some properties of the variables involved not being known:
@c assume(a>0,b>0);
@c carg (a+%i*b);
@c ===end===
-@example
+@example maxima
@group
(%i1) carg (a+%i*b);
(%o1) atan2(b, a)
@@ -910,7 +910,7 @@ Returns the complex conjugate of @var{x}.
@c conjugate (ii);
@c conjugate (xx + yy);
@c ===end===
-@example
+@example maxima
@group
(%i1) declare ([aa, bb], real, cc, complex, ii, imaginary);
(%o1) done
@@ -959,7 +959,7 @@ Example:
@c imagpart (1);
@c imagpart (sqrt(2)*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) imagpart (a+b*%i);
(%o1) b
@@ -999,11 +999,11 @@ Example:
@c polarform(1+%i);
@c polarform(1+2*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) polarform(a+b*%i);
- 2 2 %i atan2(b, a)
-(%o1) sqrt(b + a ) %e
+ %i atan2(b, a) 2 2
+(%o1) %e sqrt(b + a )
@end group
@group
(%i2) polarform(1+%i);
@@ -1041,7 +1041,7 @@ Example:
@c realpart (sqrt(2)*%i);
@c realpart (1);
@c ===end===
-@example
+@example maxima
@group
(%i1) realpart (a+b*%i);
(%o1) a
@@ -1079,7 +1079,7 @@ Example:
@c rectform(sqrt(b^2+a^2)*%e^(%i*atan2(b, a)));
@c rectform(sqrt(5)*%e^(%i*atan(2)));
@c ===end===
-@example
+@example maxima
@group
(%i1) rectform(sqrt(2)*%e^(%i*%pi/4));
(%o1) %i + 1
@@ -1151,7 +1151,7 @@ Examples:
@c binomial (x + 7, x);
@c binomial (11, y);
@c ===end===
-@example
+@example maxima
@group
(%i1) binomial (11, 7);
(%o1) 330
@@ -1204,7 +1204,7 @@ Example:
@c (n + 1)*(n + 1)*n!;
@c factcomb (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) sumsplitfact;
(%o1) true
@@ -1287,7 +1287,7 @@ evaluated in float or bigfloat precision.
@c [4,77!, (1.0+%i)!];
@c [2.86b0!, (1.0b0+%i)!];
@c ===end===
-@example
+@example maxima
@group
(%i1) factlim : 10;
(%o1) 10
@@ -1317,7 +1317,7 @@ operand.
@c [(%i + 1)!, %pi!, %e!, (cos(1) + sin(1))!];
@c ev (%, numer, %enumer);
@c ===end===
-@example
+@example maxima
@group
(%i1) [(%i + 1)!, %pi!, %e!, (cos(1) + sin(1))!];
(%o1) [(%i + 1)!, %pi!, %e!, (sin(1) + cos(1))!]
@@ -1349,7 +1349,7 @@ Thus @code{x!} may be replaced even in a quoted expression.
@c ===beg===
@c '([0!, (7/2)!, 4.77!, 8!, 20!]);
@c ===end===
-@example
+@example maxima
@group
(%i1) '([0!, (7/2)!, 4.77!, 8!, 20!]);
105 sqrt(%pi)
@@ -1364,7 +1364,7 @@ Maxima knows the derivative of the factorial function.
@c ===beg===
@c diff(x!,x);
@c ===end===
-@example
+@example maxima
@group
(%i1) diff(x!,x);
(%o1) x! psi (x + 1)
@@ -1378,7 +1378,7 @@ simplification of expressions with the factorial function.
@c ===beg===
@c (n+1)!/n!,factorial_expand:true;
@c ===end===
-@example
+@example maxima
@group
(%i1) (n+1)!/n!,factorial_expand:true;
(%o1) n + 1
@@ -1453,7 +1453,7 @@ which differ by an integer.
@c n!/(n+2)!;
@c minfactorial (%);
@c ===end===
-@example
+@example maxima
@group
(%i1) n!/(n+2)!;
n!
@@ -1490,7 +1490,7 @@ When @code{sumsplitfact} is @code{false},
@c n!/(n+2)!;
@c factcomb(%);
@c ===end===
-@example
+@example maxima
@group
(%i1) sumsplitfact;
(%o1) true
@@ -1581,7 +1581,7 @@ When @code{%emode} is @code{false}, no special simplification of
@c %e^(%pi*%i*120/144);
@c %e^(%pi*%i*121/144);
@c ===end===
-@example
+@example maxima
@group
(%i1) %emode;
(%o1) true
@@ -1651,7 +1651,7 @@ See also @mref{ev} and @mrefdot{numer}
@c 2*%e^1;
@c 2*%e^x;
@c ===end===
-@example
+@example maxima
@group
(%i1) %enumer;
(%o1) false
@@ -1723,7 +1723,7 @@ See @mrefdot{%emode}
@c demoivre: not demoivre;
@c %e^(a + b*%i);
@c ===end===
-@example
+@example maxima
@group
(%i1) demoivre;
(%o1) false
@@ -1804,87 +1804,65 @@ Examples:
@c map (lambda ([x], li [2] (x)), L);
@c map (lambda ([x], li [3] (x)), L);
@c ===end===
-@example
+RETRIEVE: End of file encountered.
+ -- an error. To debug this try: debugmode(true);
+@example maxima
@group
(%i1) assume (x > 0);
(%o1) [x > 0]
@end group
@group
(%i2) integrate ((log (1 - t)) / t, t, 0, x);
-(%o2) - li (x)
- 2
+Is x - 1 positive, negative or zero?
+
@end group
@group
-(%i3) li[4](1);
- 4
- %pi
-(%o3) ----
- 90
+Is x - 1 positive, negative or zero?
+li[4](1);
@end group
@group
-(%i4) li[5](1);
-(%o4) zeta(5)
+Is x - 1 positive, negative or zero?
+li[5](1);
@end group
@group
-(%i5) li[2](1/2);
- 2 2
- %pi log (2)
-(%o5) ---- - -------
- 12 2
+Is x - 1 positive, negative or zero?
+li[2](1/2);
@end group
@group
-(%i6) li[2](%i);
- 2
- %pi
-(%o6) %catalan %i - ----
- 48
+Is x - 1 positive, negative or zero?
+li[2](%i);
@end group
@group
-(%i7) li[2](1+%i);
- 2
- %i %pi log(2) %pi
-(%o7) ------------- + ---- + %catalan %i
- 4 16
+Is x - 1 positive, negative or zero?
+li[2](1+%i);
@end group
@group
-(%i8) li [2] (7);
-(%o8) li (7)
- 2
+Is x - 1 positive, negative or zero?
+li [2] (7);
@end group
@group
-(%i9) li [2] (7), numer;
-(%o9) 1.2482731820994244 - 6.1132570288179915 %i
+Is x - 1 positive, negative or zero?
+li [2] (7), numer;
@end group
@group
-(%i10) li [3] (7);
-(%o10) li (7)
- 3
+Is x - 1 positive, negative or zero?
+li [3] (7);
@end group
@group
-(%i11) li [2] (7), numer;
-(%o11) 1.2482731820994244 - 6.1132570288179915 %i
+Is x - 1 positive, negative or zero?
+li [2] (7), numer;
@end group
@group
-(%i12) L : makelist (i / 4.0, i, 0, 8);
-(%o12) [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]
+Is x - 1 positive, negative or zero?
+L : makelist (i / 4.0, i, 0, 8);
@end group
@group
-(%i13) map (lambda ([x], li [2] (x)), L);
-(%o13) [0.0, 0.2676526390827326, 0.5822405264650125,
-0.978469392930306, 1.6449340668482264,
-2.1901770114416452 - 0.7010261415046585 %i,
-2.3743952702724798 - 1.2738062049196004 %i,
-2.448686765338203 - 1.7580848482107874 %i,
-2.4674011002723395 - 2.177586090303602 %i]
+Is x - 1 positive, negative or zero?
+map (lambda ([x], li [2] (x)), L);
@end group
@group
-(%i14) map (lambda ([x], li [3] (x)), L);
-(%o14) [0.0, 0.25846139579657335, 0.5372131936080402,
-0.8444258088622044, 1.2020569031595942,
-1.6428668813178295 - 0.07821473138972386 %i,
-2.0608775073202805 - 0.258241985293288 %i,
-2.433418898226189 - 0.49192601879440423 %i,
-2.762071906228924 - 0.7546938294602477 %i]
+Is x - 1 positive, negative or zero?
+map (lambda ([x], li [3] (x)), L);
@end group
@end example
@@ -2015,7 +1993,7 @@ subexpressions of the form @code{a1*log(b1) + a2*log(b2) + c} into
@c 2*(a*log(x) + 2*a*log(y))$
@c logcontract(%);
@c ===end===
-@example
+@example maxima
(%i1) 2*(a*log(x) + 2*a*log(y))$
@group
(%i2) logcontract(%);
@@ -2062,7 +2040,7 @@ When @code{logexpand} is @code{true},
@c ===beg===
@c log(n^2), logexpand=true;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(n^2), logexpand=true;
(%o1) 2 log(n)
@@ -2075,7 +2053,7 @@ When @code{logexpand} is @code{all},
@c ===beg===
@c log(10*x), logexpand=all;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(10*x), logexpand=all;
(%o1) log(x) + log(10)
@@ -2089,7 +2067,7 @@ for rational numbers @code{a/b} with @code{a#1}.
@c ===beg===
@c log(a/(n + 1)), logexpand=super;
@c ===end===
-@example
+@example maxima
@group
(%i1) log(a/(n + 1)), logexpand=super;
(%o1) log(a) - log(n + 1)
@@ -2104,7 +2082,7 @@ the logarithm of a product expression simplifies to a summation of logarithms.
@c log(my_product), logexpand=all;
@c log(my_product), logexpand=super;
@c ===end===
-@example
+@example maxima
@group
(%i1) my_product : product (X(i), i, 1, n);
n
@@ -2146,7 +2124,7 @@ these simplifications are disabled.
@c log(a/(n + 1));
@c log ('product (X(i), i, 1, n));
@c ===end===
-@example
+@example maxima
(%i1) logexpand : false $
@group
(%i2) log(n^2);
@@ -2681,7 +2659,7 @@ Examples:
@c [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
@c cos (sqrt(2)*%pi/3)];
@c ===end===
-@example
+@example maxima
(%i1) %piargs : false$
@group
(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
@@ -2737,7 +2715,7 @@ multiplied by an integer variable.
@c [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
@c cos (%pi/2 * m)];
@c ===end===
-@example
+@example maxima
(%i1) declare (n, integer, m, even)$
@group
(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
@@ -2789,7 +2767,7 @@ Examples:
@c %iargs : true$
@c [sin (%i * x), cos (%i * x), tan (%i * x)];
@c ===end===
-@example
+@example maxima
(%i1) %iargs : false$
@group
(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
@@ -2809,7 +2787,7 @@ Even when the argument is demonstrably real, the simplification is applied.
@c [featurep (x, imaginary), featurep (x, real)];
@c sin (%i * x);
@c ===end===
-@example
+@example maxima
(%i1) declare (x, imaginary)$
@group
(%i2) [featurep (x, imaginary), featurep (x, real)];
@@ -2879,7 +2857,7 @@ Examples:
@c assume(x>0, x<2*%pi)$
@c sin(x / 2);
@c ===end===
-@example
+@example maxima
(%i1) halfangles : false$
@group
(%i2) sin (x / 2);
@@ -2972,7 +2950,7 @@ Examples:
@c x+sin(3*x)/sin(x),trigexpand=true,expand;
@c trigexpand(sin(10*x+y));
@c ===end===
-@example
+@example maxima
@group
(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
2 2
@@ -3065,7 +3043,7 @@ See also @mref{poissimp}.
@c ===beg===
@c trigreduce(-sin(x)^2+3*cos(x)^2+x);
@c ===end===
-@example
+@example maxima
@group
(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
cos(2 x) cos(2 x) 1 1
@@ -3161,7 +3139,7 @@ possible.
@c ===beg===
@c trigrat(sin(3*a)/sin(a+%pi/3));
@c ===end===
-@example
+@example maxima
@group
(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1) sqrt(3) sin(2 a) + cos(2 a) - 1
@@ -3179,7 +3157,7 @@ Addison-Wesley), section 1.5.5, Morley theorem.
@c ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
@c trigrat (ac2);
@c ===end===
-@example
+@example maxima
(%i1) c : %pi/3 - a - b$
@group
(%i2) bc : sin(a)*sin(3*c)/sin(a+b);
@@ -3374,7 +3352,7 @@ Examples:
@c random (10.0);
@c random (100.0);
@c ===end===
-@example
+@example maxima
(%i1) s1: make_random_state (654321)$
@group
(%i2) set_random_state (s1);
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-23 21:59:14
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via 68d0a0a417b2a22e1634eb937a880e802ea67e78 (commit)
from d5bc8c6a2c5aa13be4a719ae3feddb8503d6eff1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 68d0a0a417b2a22e1634eb937a880e802ea67e78
Author: villate <vi...@fe...>
Date: Sat Aug 23 22:58:31 2025 +0100
The new macro for figures works also for info format.
diff --git a/doc/info/Introduction.texi b/doc/info/Introduction.texi
index 169d9e67b..06fdd1459 100644
--- a/doc/info/Introduction.texi
+++ b/doc/info/Introduction.texi
@@ -164,24 +164,18 @@ Maxima can generate plots of one or more functions:
@example
(%i1) plot2d (sin(x)/x, [x, -20, 20])$
@end example
-@ifnotinfo
@altfigure{introduction1,Plot of a function}
-@end ifnotinfo
@example
(%i2) plot2d ([atan(x), erf(x), tanh(x)], [x, -5, 5], [y, -1.5, 2])$
@end example
-@ifnotinfo
@altfigure{introduction2,Plot of several functions}
-@end ifnotinfo
@example
@group
(%i3) plot3d (sin(sqrt(x^2 + y^2))/sqrt(x^2 + y^2),
[x, -12, 12], [y, -12, 12])$
@end group
@end example
-@ifnotinfo
@altfigure{introduction3,Plot of a function of two variables}
-@end ifnotinfo
@c FOLLOWING TEXT DESCRIBES THE TCL/TK PLOT WINDOW WHICH IS NO LONGER THE DEFAULT
@c Moving the cursor to the top left corner of the plot window will pop up
-----------------------------------------------------------------------
Summary of changes:
doc/info/Introduction.texi | 6 ------
1 file changed, 6 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: villate <vi...@us...> - 2025-08-23 21:54:37
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via d5bc8c6a2c5aa13be4a719ae3feddb8503d6eff1 (commit)
from e05a73ff8a120b30e5ecf3942269031457101d5a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d5bc8c6a2c5aa13be4a719ae3feddb8503d6eff1
Author: villate <vi...@fe...>
Date: Sat Aug 23 22:54:04 2025 +0100
Uses the new macro to include figures in the manual.
diff --git a/doc/info/Plotting.texi b/doc/info/Plotting.texi
index b9b09c121..423d81ebc 100644
--- a/doc/info/Plotting.texi
+++ b/doc/info/Plotting.texi
@@ -332,9 +332,7 @@ corresponding the maximum 36 iterations would not be black.
@end group
@end example
-@ifnotinfo
-@image{figures/plotting4,8cm}
-@end ifnotinfo
+@altfigure{plotting4,Example of julia command's output}
@opencatbox{Categories:}
@category{Package dynamics}
@@ -400,9 +398,7 @@ Example:
[grid,400,400])$
@end example
-@ifnotinfo
-@image{figures/plotting5,8cm}
-@end ifnotinfo
+@altfigure{plotting5,Example of mandelbrot command's output}
@opencatbox{Categories:}
@category{Package dynamics}
@@ -527,9 +523,7 @@ function names.
(%i1) plot2d (sin(x), [x, -%pi, %pi])$
@end example
-@ifnotinfo
-@image{figures/plotting6,8cm}
-@end ifnotinfo
+@altfigure{plotting6,Plot of an explicit function}
@item Implicit function.
@@ -540,9 +534,7 @@ function names.
(%i1) plot2d (x^2-y^3+3*y=2, [x,-2.5,2.5], [y,-2.5,2.5])$
@end example
-@ifnotinfo
-@image{figures/plotting3,8cm}
-@end ifnotinfo
+@altfigure{plotting3,Plot of an implicit function}
@item Parametric function.
@@ -555,9 +547,7 @@ function names.
(%i2) plot2d([parametric, r*sin(t), r*cos(t), [t,-8*%pi,8*%pi]])$
@end example
-@ifnotinfo
-@image{figures/plotting11,8cm}
-@end ifnotinfo
+@altfigure{plotting11,Plot of a parametric function}
@item Set of points.
@@ -570,9 +560,7 @@ function names.
[0.6, 0.9, 0.2, 1.3, 1]])$
@end example
-@ifnotinfo
-@image{figures/plotting14,8cm}
-@end ifnotinfo
+@altfigure{plotting14,Plot of a set of points}
@item Contour lines.
@@ -583,9 +571,7 @@ function names.
(%i1) plot2d ([contour, u^3 + v^2], [u, -4, 4], [v, -4, 4])$
@end example
-@ifnotinfo
-@image{figures/plotting2,8cm}
-@end ifnotinfo
+@altfigure{plotting2,Contour plot}
@end enumerate
@@ -601,9 +587,7 @@ to limit the values in the vertical axis:
(%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
@end example
-@ifnotinfo
-@image{figures/plotting7,8cm}
-@end ifnotinfo
+@altfigure{plotting7,Example of the use of the y plotting option}
When the plot box is disabled, no labels are created for the axes. In
that case, instead of using @mref{xlabel} and @mref{ylabel} to set the
@@ -625,9 +609,7 @@ fill a square.
["x^2-1", 0.1, 8]], [title, "A parabola"])$
@end example
-@ifnotinfo
-@image{figures/plotting8,8cm}
-@end ifnotinfo
+@altfigure{plotting8,Plot with axes instead of a box}
A plot with a logarithmic scale in the vertical axis:
@@ -638,9 +620,7 @@ A plot with a logarithmic scale in the vertical axis:
(%i1) plot2d (exp(3*s), [s, -2, 2], logy)$
@end example
-@ifnotinfo
-@image{figures/plotting9,8cm}
-@end ifnotinfo
+@altfigure{plotting9,Logarithmic plot}
Plotting functions by name:
@@ -658,9 +638,7 @@ $g
(%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
@end example
-@ifnotinfo
-@image{figures/plotting10,8cm}
-@end ifnotinfo
+@altfigure{plotting10,Various ways to specify a function to plot}
Plot of a circumference of radius 1 centered at the origin, together with the
function @code{y=-|@var{x}|}. To prevent the circumference to look like an
@@ -679,9 +657,7 @@ the two functions.
@end group
@end example
-@ifnotinfo
-@image{figures/plotting12,8cm}
-@end ifnotinfo
+@altfigure{plotting12,Plot of a circle using the same scaling for both axes}
A plot of 200 random numbers between 0 and 9:
@@ -694,9 +670,7 @@ A plot of 200 random numbers between 0 and 9:
@end group
@end example
-@ifnotinfo
-@image{figures/plotting13,8cm}
-@end ifnotinfo
+@altfigure{plotting13,Plot of 200 random points}
In the next example a table with three columns is saved in a file
``data.txt'' which is then read and the second and third column are
@@ -719,9 +693,7 @@ plotted on the two axes:
[style,points], [point_type,diamond], [color,red])$
@end example
-@ifnotinfo
-@image{figures/plotting15,8cm}
-@end ifnotinfo
+@altfigure{plotting15,Plot of points read from a file}
A plot of discrete data points together with a continuous function:
@@ -744,9 +716,7 @@ A plot of discrete data points together with a continuous function:
[ylabel, "period (s)"])$
@end example
-@ifnotinfo
-@image{figures/plotting16,8cm}
-@end ifnotinfo
+@altfigure{plotting16,Example plot using several options}
See also the @mref{Plotting Options} section.
@@ -783,9 +753,7 @@ Plot of a function of two variables:
@end group
@end example
-@ifnotinfo
-@image{figures/plotting17,8cm}
-@end ifnotinfo
+@altfigure{plotting17,Plot of a function of 2 variables}
Use of the @mref{z} option to limit a function that goes to infinity
(in this case the function is minus infinity on the x and y axes); this also
@@ -802,9 +770,7 @@ shows how to plot with only lines and no shading:
@end group
@end example
-@ifnotinfo
-@image{figures/plotting18,8cm}
-@end ifnotinfo
+@altfigure{plotting18,Example of the use of option z of plot3d}
The infinite values of z can also be avoided by choosing a grid that
does not fall on any points where the function is undefined, as in the
@@ -826,9 +792,7 @@ include a color bar that relates colors to values of the z variable:
@end group
@end example
-@ifnotinfo
-@image{figures/plotting19,8cm}
-@end ifnotinfo
+@altfigure{plotting19,Example using the grid option of plot3d}
Two surfaces in the same plot. Ranges specific to one of the surfaces can
be given by placing each expression and its ranges in a separate list;
@@ -846,9 +810,7 @@ definitions.
[x, -4, 4], [y, -4, 4])$
@end example
-@ifnotinfo
-@image{figures/plotting20,8cm}
-@end ifnotinfo
+@altfigure{plotting20,Plot of two functions of two variables}
Plot of a Klein bottle, defined parametrically:
@@ -867,9 +829,7 @@ Plot of a Klein bottle, defined parametrically:
[y, -%pi, %pi], [grid, 50, 50])$
@end example
-@ifnotinfo
-@image{figures/plotting21,8cm}
-@end ifnotinfo
+@altfigure{plotting21,Plot of a Klein bottle}
Plot of a ``spherical harmonic'' function, using the predefined
transformation, @code{spherical_to_xyz} to transform from spherical
@@ -885,9 +845,7 @@ coordinates to rectangular coordinates. See the documentation for
[transform_xy, spherical_to_xyz], [grid, 30, 60], nolegend)$
@end example
-@ifnotinfo
-@image{figures/plotting22,8cm}
-@end ifnotinfo
+@altfigure{plotting22,Plot of a spherical harmonic function}
Use of the pre-defined function @code{polar_to_xy} to transform from
cylindrical to rectangular coordinates. See the documentation for
@@ -904,9 +862,7 @@ cylindrical to rectangular coordinates. See the documentation for
@end group
@end example
-@ifnotinfo
-@image{figures/plotting23,8cm}
-@end ifnotinfo
+@altfigure{plotting23,Example using option polar_to_xy of plot3d}
Plot of a sphere using the transformation from spherical to rectangular
coordinates. Option @mref{same_xyz} is used to get the three axes
@@ -927,9 +883,7 @@ surface correctly.
@end group
@end example
-@ifnotinfo
-@image{figures/plotting24,8cm}
-@end ifnotinfo
+@altfigure{plotting24,Example using option xpherical_to_xyz of plot3d}
Definition of a function of two-variables using a matrix. Notice the
single quote in the definition of the function, to prevent @code{plot3d}
@@ -947,9 +901,7 @@ indices.
(%i3) plot3d (f(x,y), [x,1,4], [y,1,4], [grid,3,3], nolegend)$
@end example
-@ifnotinfo
-@image{figures/plotting25,8cm}
-@end ifnotinfo
+@altfigure{plotting25,Plot to represent the values of a matrix in 3D}
By setting the elevation equal to zero, a surface can be seen as a map
in which each color represents a different level.
@@ -967,9 +919,7 @@ in which each color represents a different level.
@end group
@end example
-@ifnotinfo
-@image{figures/plotting26,8cm}
-@end ifnotinfo
+@altfigure{plotting26,Plot to represent the values of a matrix in 2D}
See also @mrefdot{Plotting Options}
-----------------------------------------------------------------------
Summary of changes:
doc/info/Plotting.texi | 100 +++++++++++++------------------------------------
1 file changed, 25 insertions(+), 75 deletions(-)
hooks/post-receive
--
Maxima CAS
|