Commit 0605ee9b authored by Jiri (George) Lebl's avatar Jiri (George) Lebl

Tue Mar 20 11:39:45 2012 Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml, help/C/genius.xml: Add Commutative
	  Algebra section and document the Macaulay stuff (at least stub it).
	  Also add a note to the doc on ceil.

	* src/graphing.c: Fix zooming using pointer for functions that take
	  a long time to draw by moving the zooming code into an idle
	  handler.

	* lib/number_theory/primes.gel: update where GIMPS has gotten in
	  doublechecking

	* po/POTFILES.in: remove glade-helper.c
parent 503b1286
Tue Mar 20 11:39:45 2012 Jiri (George) Lebl <jirka@5z.com>
* help/C/gel-function-list.xml, help/C/genius.xml: Add Commutative
Algebra section and document the Macaulay stuff (at least stub it).
Also add a note to the doc on ceil.
* src/graphing.c: Fix zooming using pointer for functions that take
a long time to draw by moving the zooming code into an idle
handler.
* lib/number_theory/primes.gel: update where GIMPS has gotten in
doublechecking
* po/POTFILES.in: remove glade-helper.c
Sun Dec 25 10:28:09 2011 Jiri (George) Lebl <jirka@5z.com>
* lib/number_theory/primes.gel: update where GIMPS has gotten in
......
Changes to 1.0.15
* New functions MacaulayRep, MacaulayLowerOperator, MacaulayBound
* FIXME: TEST AND DOCUMENT the above
* New functions CurrentTime (DOCUMENTED)
* New functions CurrentTime, MacaulayRep, MacaulayLowerOperator, MacaulayBound.
* Fix rational powers of negative numbers, and exact negative rational powers.
* Fix zooming in graphs using the mouse when the functions take long to run
* Accept log instead of ln for symbolic derivative when used with only
one parameter
* Translation updates (Maria Majadas, Juan Matias Olmos, Daniel Mustieles,
Gustavo Jasso, Jiro Matsuawa, Marek Cernocky, Bruno Brouard, Matej Urbanic,
Mario Blattermann, Juan Carlos Vallejo Lopez, Christian Kirbach, Jorge
Gonzales, Martin Strebotnjak, Wolfgang Stoggl, Kjartan Maraas)
* For some of the changes the author (Jiri) was partially supported by
NSF grant DMS 0900885 and the University of Wisconsin-Madison
Changes to 1.0.14
......
AC_INIT(src/calc.c)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(genius,1.0.14)
AM_INIT_AUTOMAKE(genius,1.0.15)
dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work
AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS")
......
......@@ -1108,7 +1108,21 @@ value then <function>Sign</function> returns the direction or 0.
<listitem>
<synopsis>ceil (x)</synopsis>
<para>Aliases: <function>Ceiling</function></para>
<para>Get the lowest integer more than or equal to n.</para>
<para>Get the lowest integer more than or equal to <varname>n</varname>. Examples:
<screen><prompt>genius></prompt> <userinput>ceil(1.1)</userinput>
= 2
<prompt>genius></prompt> <userinput>ceil(-1.1)</userinput>
= -1
</screen>
</para>
<para>Note that you should be careful and notice that floating point
numbers are stored an binary and so may not be what you
expect. For example <userinput>ceil(420/4.2)</userinput>
returns 101 instead of the expected 100. This is because
4.2 is actually very slightly less than 4.2. Use rational
representation <userinput>42/10</userinput> if you want
exact arithmetic.
</para>
</listitem>
</varlistentry>
......@@ -5118,6 +5132,35 @@ and has period <userinput>b-a</userinput>.</para>
</variablelist>
</sect1>
<sect1 id="genius-gel-function-list-commutative-algebra">
<title>Commutative Algebra</title>
<variablelist>
<varlistentry id="gel-function-MacaulayBound">
<term>MacaulayBound</term>
<listitem>
<synopsis>MacaulayBound (c,d)</synopsis>
<para>For a Hilbert function that is c for degree d, given the Macaulay bound for the Hilbert function of degree d+1 (The c^&lt;d&gt; operator from Green's proof).</para>
</listitem>
</varlistentry>
<varlistentry id="gel-function-MacaulayLowerOperator">
<term>MacaulayLowerOperator</term>
<listitem>
<synopsis>MacaulayLowerOperator (c,d)</synopsis>
<para>The c_&lt;d&gt; operator from Green's proof of Macaulay's Theorem.</para>
</listitem>
</varlistentry>
<varlistentry id="gel-function-MacaulayRep">
<term>MacaulayRep</term>
<listitem>
<synopsis>MacaulayRep (c,d)</synopsis>
<para>Return the dth Macaulay representation of a positive integer c.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="genius-gel-function-list-miscellaneous">
<title>Miscellaneous</title>
<variablelist>
......
......@@ -3,8 +3,8 @@
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY app "<application>Genius Mathematics Tool</application>">
<!ENTITY appname "Genius">
<!ENTITY appversion "1.0.13">
<!ENTITY date "July 2011">
<!ENTITY appversion "1.0.15">
<!ENTITY date "March 2012">
<!ENTITY legal SYSTEM "legal.xml">
......@@ -37,7 +37,7 @@
<title>&appname; Manual</title>
<copyright>
<year>1997-2011</year>
<year>1997-2012</year>
<holder>Ji&#345;&#237; (George) Lebl</holder>
</copyright>
<copyright>
......@@ -65,7 +65,7 @@
<firstname>Ji&#345;&#237;</firstname>
<surname>Lebl</surname>
<affiliation>
<orgname>University of Illinois, Urbana-Champaign</orgname>
<orgname>University of Wisconsin-Madison</orgname>
<address> <email>jirka@5z.com</email> </address>
</affiliation>
</author>
......@@ -3117,8 +3117,10 @@ type="http">Genius Web page</ulink>.
COPYING included with the source code of this program. </para>
<para>Ji&#345;&#237; Lebl was during various parts of the development
partially supported for the work by NSF grant DMS 0900885 and
the University of Illinois at Urbana-Champaign. The software has
partially supported for the work by NSF grant DMS 0900885,
the University of Illinois at Urbana-Champaign,
the University of California at San Diego and
the University of Wisconsin-Madison. The software has
been used for both teaching and research.</para>
</chapter>
......
......@@ -7649,7 +7649,7 @@ msgid ""
"\"><function>MillerRabinTestSure</function></link> but it may take a lot "
"longer."
msgstr ""
"Když je vráceno <constant>false<constant>, můžete si být jisti, že se jedná "
"Když je vráceno <constant>false</constant>, můžete si být jisti, že se jedná "
"o složené číslo. Jestliže si potřebujete být absolutně jistí, že máte "
"prvočíslo, můžete použít funkci <link linkend=\"gel-function-"
"MillerRabinTestSure\"><function>MillerRabinTestSure</function></link>, ale "
......
......@@ -2712,8 +2712,8 @@ msgid ""
"the normal mathematical way, e.g.: (1&lt;x&lt;=y&lt;5) is a legal boolean "
"expression and means just what it should, that is (1&lt;x and x≤y and y&lt;5)"
msgstr ""
"Los operadores de comparación (excepto el operador <operator>&lt;=&gt;</"
"operator> que se comporta de un modo normal), no son estrictamente "
"Los operadores de comparación (excepto el operador &lt;=&gt; "
"que se comporta de un modo normal), no son estrictamente "
"operadores binarios, de hecho pueden agruparse agruparse de una forma "
"matemática estándar, ej.: (1&lt;x&lt;=y&lt;5) es una expresión booleana "
"válida y significa lo que debería, es decir, (1&lt;x and x≤y and y&lt;5)"
......
......@@ -13764,7 +13764,7 @@ msgstr ""
"jusqu'à dix au plus, sont les fonctions à tracer. Vous pouvez ensuite "
"rajouter quatre paramètres <varname>x1</varname>, <varname>x2</varname>, "
"<varname>y1</varname> et <varname>y2</varname> pour spécifier les limites de "
"la fenêtre de tracé.<br>Si les limites de la fenêtre de tracé ne sont pas "
"la fenêtre de tracé. Si les limites de la fenêtre de tracé ne sont pas "
"indiquées alors les limites définies par <link linkend=\"gel-function-"
"LinePlotWindow\"><function>LinePlotWindow</function></link> sont appliquées. "
......
......@@ -2,7 +2,7 @@ Genius Manual
Jiří Lebl
University of Illinois, Urbana-Champaign
University of Wisconsin-Madison
<jirka@5z.com>
......@@ -12,7 +12,7 @@ Kai Willadsen
<kaiw@itee.uq.edu.au>
Copyright © 1997-2011 Jiří (George) Lebl
Copyright © 1997-2012 Jiří (George) Lebl
Copyright © 2004 Kai Willadsen
......@@ -75,7 +75,7 @@ Kai Willadsen
To report a bug or make a suggestion regarding the Genius
Mathematics Tool application or this manual, follow the
directions in the GNOME Feedback Page.
This manual describes version 1.0.13 of Genius.
This manual describes version 1.0.15 of Genius.
__________________________________________________________
Table of Contents
......@@ -185,6 +185,7 @@ Kai Willadsen
Statistics
Polynomials
Set Theory
Commutative Algebra
Miscellaneous
Symbolic Operations
Plotting
......@@ -2265,6 +2266,14 @@ chdir (dir)
Changes current directory, same as the cd.
CurrentTime
CurrentTime
Returns the current UNIX time with microsecond precision
as a floating point number. That is, returns the number
of seconds since January 1st 1970.
display
display (str,expr)
......@@ -2898,6 +2907,19 @@ ceil (x)
Aliases: Ceiling
Get the lowest integer more than or equal to n.
Examples:
genius> ceil(1.1)
= 2
genius> ceil(-1.1)
= -1
Note that you should be careful and notice that floating
point numbers are stored an binary and so may not be
what you expect. For example ceil(420/4.2) returns 101
instead of the expected 100. This is because 4.2 is
actually very slightly less than 4.2. Use rational
representation 42/10 if you want exact arithmetic.
exp
......@@ -5900,6 +5922,31 @@ Union (X,Y)
vectors pretending to be sets).
__________________________________________________________
Commutative Algebra
MacaulayBound
MacaulayBound (c,d)
For a Hilbert function that is c for degree d, given the
Macaulay bound for the Hilbert function of degree d+1
(The c^<d> operator from Green's proof).
MacaulayLowerOperator
MacaulayLowerOperator (c,d)
The c_<d> operator from Green's proof of Macaulay's
Theorem.
MacaulayRep
MacaulayRep (c,d)
Return the dth Macaulay representation of a positive
integer c.
__________________________________________________________
Miscellaneous
ASCIIToString
......@@ -6320,12 +6367,13 @@ Output
Genius Mathematics Tool and then uncheck it again.
Display errors in a dialog
If set the errors will be displayed in a seprate dialog,
if unset the errors will be printed on the console.
If set the errors will be displayed in a separate
dialog, if unset the errors will be printed on the
console.
Display information messages in a dialog
If set the information messages will be displayed in a
seprate dialog, if unset the information messages will
separate dialog, if unset the information messages will
be printed on the console.
Maximum errors to display
......@@ -6435,6 +6483,7 @@ About Genius Mathematics Tool
program.
Jiří Lebl was during various parts of the development partially
supported for the work by NSF grant DMS 0900885 and the
University of Illinois at Urbana-Champaign. The software has
been used for both teaching and research.
supported for the work by NSF grant DMS 0900885, the University
of Illinois at Urbana-Champaign, the University of California
at San Diego and the University of Wisconsin-Madison. The
software has been used for both teaching and research.
......@@ -120,10 +120,10 @@ function IsMersennePrimeExponent(p) = (
return true;
# http://www.mersenne.org / GIMPS doublechecked everything up
# to 24,052,939 (on Dec. 25, 2011)
if p <= 24052939 then
# to 24,077,267 (on Mar. 20, 2012)
if p <= 24077267 then
return false;
error("IsMersennePrimeExponent: Number too large (known values up to: " + 24052939 + ")");
error("IsMersennePrimeExponent: Number too large (known values up to: " + 24077267 + ")");
bailout
);
......@@ -36,5 +36,4 @@ src/plugin.c
src/symbolic.c
src/testplugin.c
src/util.c
ve/glade-helper.c
ve/ve-nongnome.c
......@@ -29,7 +29,7 @@
#include "structs.h"
#define GENIUS_COPYRIGHT_STRING N_("Copyright (C) 1997-2011 Jiří (George) Lebl, Ph.D.")
#define GENIUS_COPYRIGHT_STRING N_("Copyright (C) 1997-2012 Jiří (George) Lebl, Ph.D.")
typedef enum {
GEL_NO_ERROR = 0,
......
/* GENIUS Calculator
* Copyright (C) 2003-2011 Jiri (George) Lebl
* Copyright (C) 2003-2012 Jiri (George) Lebl
*
* Author: Jiri (George) Lebl
*
......@@ -1388,6 +1388,64 @@ plot_resetzoom_cb (void)
}
}
static guint dozoom_idle_id = 0;
static gdouble dozoom_xmin;
static gdouble dozoom_ymin;
static gdouble dozoom_xmax;
static gdouble dozoom_ymax;
static gboolean dozoom_just_click;
static gboolean
dozoom_idle (gpointer data)
{
dozoom_idle_id = 0;
if (plot_in_progress == 0 && line_plot != NULL) {
double len;
gboolean last_info = genius_setup.info_box;
gboolean last_error = genius_setup.error_box;
genius_setup.info_box = TRUE;
genius_setup.error_box = TRUE;
/* just click, so zoom in */
if (dozoom_just_click) {
len = plotx2 - plotx1;
plotx1 += len * dozoom_xmin - len / 4.0;
plotx2 = plotx1 + len / 2.0;
len = ploty2 - ploty1;
ploty1 += len * dozoom_ymin - len / 4.0;
ploty2 = ploty1 + len / 2.0;
} else {
len = plotx2 - plotx1;
plotx1 += len * dozoom_xmin;
plotx2 = plotx1 + (len * (dozoom_xmax-dozoom_xmin));
len = ploty2 - ploty1;
ploty1 += len * dozoom_ymin;
ploty2 = ploty1 + (len * (dozoom_ymax-dozoom_ymin));
}
/* sanity */
if (plotx2 - plotx1 < MINPLOT)
plotx2 = plotx1 + MINPLOT;
/* sanity */
if (ploty2 - ploty1 < MINPLOT)
ploty2 = ploty1 + MINPLOT;
plot_axis ();
if (gel_interrupted)
gel_interrupted = FALSE;
gel_printout_infos ();
genius_setup.info_box = last_info;
genius_setup.error_box = last_error;
}
return FALSE;
}
static void
plot_select_region (GtkPlotCanvas *canvas,
gdouble xmin,
......@@ -1397,11 +1455,11 @@ plot_select_region (GtkPlotCanvas *canvas,
{
double len;
double px, py, pw, ph;
gboolean just_click = FALSE;
dozoom_just_click = FALSE;
if (fabs(xmin-xmax) < 0.001 ||
fabs(ymin-ymax) < 0.001) {
just_click = TRUE;
dozoom_just_click = TRUE;
}
/* FIXME: evil because this is the selection thingie,
......@@ -1468,45 +1526,13 @@ plot_select_region (GtkPlotCanvas *canvas,
/* only for line plots! */
if (plot_in_progress == 0 && line_plot != NULL) {
gboolean last_info = genius_setup.info_box;
gboolean last_error = genius_setup.error_box;
genius_setup.info_box = TRUE;
genius_setup.error_box = TRUE;
/* just click, so zoom in */
if (just_click) {
len = plotx2 - plotx1;
plotx1 += len * xmin - len / 4.0;
plotx2 = plotx1 + len / 2.0;
len = ploty2 - ploty1;
ploty1 += len * ymin - len / 4.0;
ploty2 = ploty1 + len / 2.0;
} else {
len = plotx2 - plotx1;
plotx1 += len * xmin;
plotx2 = plotx1 + (len * (xmax-xmin));
len = ploty2 - ploty1;
ploty1 += len * ymin;
ploty2 = ploty1 + (len * (ymax-ymin));
dozoom_xmin = xmin;
dozoom_xmax = xmax;
dozoom_ymin = ymin;
dozoom_ymax = ymax;
if (dozoom_idle_id == 0) {
dozoom_idle_id = g_idle_add (dozoom_idle, NULL);
}
/* sanity */
if (plotx2 - plotx1 < MINPLOT)
plotx2 = plotx1 + MINPLOT;
/* sanity */
if (ploty2 - ploty1 < MINPLOT)
ploty2 = ploty1 + MINPLOT;
plot_axis ();
if (gel_interrupted)
gel_interrupted = FALSE;
gel_printout_infos ();
genius_setup.info_box = last_info;
genius_setup.error_box = last_error;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment