What is -1.5 rounded to 0 decimal places? In GeoGebra round(-1.5) = -1.

189 views
Skip to first unread message

LFS

unread,
Oct 9, 2011, 11:01:47 AM10/9/11
to MathFuture
Hiya teachers of mathematics and users of math technology.
I have looked all over and do not see a consensus. I asked on geogebra-
na and the conversation continues ...

In GeoGebra round(-1.5) = -1 (rounds "up")

In Excel round(-1.5) = -2 (rounds away from zero)

What do we teach our kiddies these days? What does your favorite
program do?
Thanks for your help!
Linda

Sue VanHattum

unread,
Oct 9, 2011, 11:50:35 AM10/9/11
to mathf...@googlegroups.com
I say it should be random. Math is about sense-making. There should not be an up rule or down rule for something right in the middle. (I wonder what financial institutions do. Not htat I trust them to do the right thing...)

Warmly,
Sue

> Date: Sun, 9 Oct 2011 08:01:47 -0700
> Subject: [Math 2.0] What is -1.5 rounded to 0 decimal places? In GeoGebra round(-1.5) = -1.
> From: lfah...@gmail.com
> To: mathf...@googlegroups.com
> --
> You received this message because you are subscribed to the Google Groups "MathFuture" group.
> To post to this group, send email to mathf...@googlegroups.com.
> To unsubscribe from this group, send email to mathfuture+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/mathfuture?hl=en.
>

Edward Bujak

unread,
Oct 9, 2011, 1:09:45 PM10/9/11
to Math Future google groups (LFS)
TI-Nspire CAS handheld calculator ("away from 0")
round(-1.5,0) = -2
round(1.5,0) = 2

Excel 2003 ("away from 0")
ROUND(-1.5,0) = -2
ROUND(1.5,0) = 2

Mathematica ("away from 0")
Round[-1.5]  yields -2
Round[1.5]  yields 2

Microsoft Mathematics 4 (free computer software)
round(-1.5) = -1
round(1.5) = 2

Alice 2.2b programming environment (free computer software)
round(-1.5) = -1
round(1.5) = 2

Processing programming environment (Java) (free computer software)
round(-1.5) = -1
round(1.5) = 2

Many programming environments/languages include a floor() and a ceiling() function to avoid this ambiguity.
Floor[x] gives the greatest integer less than or equal to x.
Ceiling[x] gives the smallest integer greater than or equal to x.


--Edward Bujak

> Date: Sun, 9 Oct 2011 08:01:47 -0700
> Subject: [Math 2.0] What is -1.5 rounded to 0 decimal places? In GeoGebra round(-1.5) = -1.
> From: lfah...@gmail.com
> To: mathf...@googlegroups.com
>

Linda Fahlberg-Stojanovska

unread,
Oct 9, 2011, 1:37:22 PM10/9/11
to mathf...@googlegroups.com

Hiya Ed,

My sister says to me – when in doubt, take Microsoft as the word.

Then I got your letter and started laughing.

I said to her - Ed just wrote that Microsoft can’t make up its mind.

Best, Linda

Christian Baune

unread,
Oct 9, 2011, 1:38:43 PM10/9/11
to mathf...@googlegroups.com

For java, BigDecimal should be used. You can choose the scale, precision and rounding mode with a math context !

Also, java offer a strict float mode.

But, for precision, always use BigDecimal !

As an example 1/5 can't be represented using double or float.
Things like (1/5)*5 wouldn't be equal to 1!

So, BigDecimal in java is the way to go.

Kind regards,
Christian

kirby urner

unread,
Oct 9, 2011, 2:06:10 PM10/9/11
to mathf...@googlegroups.com
Python 3.1rc1 (r31rc1:73069, May 31 2009, 08:57:10) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> round(1.5)
2
>>> round(-1.5)
-2
>>> 

Use gmpy or Decimal for what Java calls BigDecimal.  Or use Jython with BigDecimal directly.

Kirby

John Bibby

unread,
Oct 9, 2011, 2:16:20 PM10/9/11
to mathf...@googlegroups.com
Wikipedia has far more information than any of us need:

Most to the point: what do we tell the kids? In my view it should be:

"It doesn't really matter which way you do it (if it does matter, then you shouldn't be rounding in the first place), but the convention is to round to the nearest, and when two are equidistant then round towards zero".

NB: The following should NOT be done in front of the children: Teachers who want to be perverse might ask about how to round complex numbers or multidimensional vectors. Should you round each element separately, or should you move to the nearest Gaussian vector in n-space?

JOHN BIBBY



The important thing is to stress that this is a convention, not a mathematical "truth" (which not all programs follow)

Maria Droujkova

unread,
Oct 9, 2011, 9:16:16 PM10/9/11
to mathf...@googlegroups.com
On Sun, Oct 9, 2011 at 2:16 PM, John Bibby <johnbibby...@gmail.com> wrote:

NB: The following should NOT be done in front of the children: Teachers who want to be perverse might ask about how to round complex numbers or multidimensional vectors. Should you round each element separately, or should you move to the nearest Gaussian vector in n-space?

JOHN BIBBY

Oy, this is good! People's inability to deal with multi-dimensional spaces is one reason "we can't have anything nice" (like a working economy). Or is it some people having too much of this ability but not all? Hard to tell :-)

For my part, I tell kids that the software rounds however you program it to round. It's very empowering for them to see different well-known programs handling such issues differently. Seeing the differences in well-known software shows kids that mathematics is a human endeavor, involving human decision-making.

Cheers,
Maria Droujkova
919-388-1721

Make math your own, to make your own math 

Christian Baune

unread,
Oct 10, 2011, 1:28:30 AM10/10/11
to mathf...@googlegroups.com

Everytime I design an access system, I have 3 base states :
- Granted
- Refused
- Indeterminate

And I do a treatment for each case wheee Indeterminate is synonyms of "system failure and lock down".
(eg. You forgot to cover a case in your security rule)
Doing so, the administrator can quickly see that something is wrong.

We should do the same with rounding. Forgot to specify it and the language should throw an exception or issue a clear warning.(Java does)

"sensible defaults" are a myth.

Kind regards,
Christian

--

kirby urner

unread,
Oct 10, 2011, 11:51:48 AM10/10/11
to mathf...@googlegroups.com
On Sun, Oct 9, 2011 at 10:28 PM, Christian Baune <progr...@gmail.com> wrote:

<< snip >>

> We should do the same with rounding. Forgot to specify it and the language
> should throw an exception or issue a clear warning.(Java does)
>
> "sensible defaults" are a myth.
>
> Kind regards,
> Christian
>

Do you think "sensible defaults" are a myth in general, like in
ordinary acting out / behavior, or are you referring more specifically
to the realm of computer language design?

Kirby

Paul Libbrecht

unread,
Oct 10, 2011, 12:13:56 PM10/10/11
to mathf...@googlegroups.com
Le 10 oct. 2011 à 07:28, Christian Baune a écrit :

"sensible defaults" are a myth.


I disagree,

*sensible defaults* should be understood as culture matching.
Some have, in their culture, rounding one way or another.
Binding to a software is culture defining.

This is similar to math notations... it is part of culture.
For example |N (read, the TeX {\mathbb N}), in German, is with zero for an algebraist and without zero for a number theorist.

This is similar to vocabulary frequency: Wolfram Alpha has an amount of variants of Swiss cheese which I fully disagree with, having grown in Switzerland... 

Paul

Bradford Hansen-Smith

unread,
Oct 10, 2011, 12:51:11 PM10/10/11
to mathf...@googlegroups.com
"*sensible defaults* should be understood as culture matching.
Some have, in their culture, rounding one way or another.
Binding to a software is culture defining."

"Sensible defaults" are nonsense. It suggest cultural mismatching, not logical for cultural betterment.
To default means we have given up the ability to make a choice, or having it taken from us. There is nothing senseable about default when one is put at disadvantage unless there is agreement by ALL involved to abide by default.

Now about zero. How is it we have a symbol for nothing? I understand symbols to represent something. Nothing is a concept of non existence, similar to sensible defaults. So here we are discussing how to round something of value off to nothing simple because of a symbol without value. Wall Street had this figured out years ago.

Brad


--- On Mon, 10/10/11, Paul Libbrecht <pa...@hoplahup.net> wrote:
--

Christian Baune

unread,
Oct 10, 2011, 1:16:54 PM10/10/11
to mathf...@googlegroups.com

Bradford got the point.

kirby urner

unread,
Oct 10, 2011, 1:20:07 PM10/10/11
to mathf...@googlegroups.com
On Mon, Oct 10, 2011 at 9:51 AM, Bradford Hansen-Smith <wholem...@sbcglobal.net> wrote:
"*sensible defaults* should be understood as culture matching.
Some have, in their culture, rounding one way or another.
Binding to a software is culture defining."

"Sensible defaults" are nonsense. It suggest cultural mismatching, not logical for cultural betterment.
To default means we have given up the ability to make a choice, or having it taken from us. There is nothing senseable about default when one is put at disadvantage unless there is agreement by ALL involved to abide by default.

In Python and other languages (we've been discussing Java etc.), you'll have a lot of toggles or settings that you *may* choose to override, but which need defaults, sensible or otherwise, if you choose to not change them.

For example, consider the print function:

[In ]    print("Hello", "World," "how", "are", "you?")
[Out ] Hello World, how are you?

You get a single space between each of the strings passed in.  The single space is the "default separator".  

However, if you want some other separator between the arguments, the keyword argument sep= may be used, as shown here:

[In ]    print("Hello", "World", sep=" + ")  
[Out ] Hello + World

Of course it's easier to learn the ins and outs if you play with this interactively, and don't just read about it.  Python has an REPL mode (read evaluate print loop), so it's easy to run lots of experiments quickly, a feedback loop.

The usual thing is to only start learning about the non-default settings after mastering the basics.  First learn what the function does, as its core responsibility, then learn how you can modify this behavior in various ways.
 

Now about zero. How is it we have a symbol for nothing? I understand symbols to represent something. Nothing is a concept of non existence, similar to sensible defaults. So here we are discussing how to round something of value off to nothing simple because of a symbol without value. Wall Street had this figured out years ago.

Brad

We in the Wittgenstein camp are trained NOT to think of symbols as 'representational'.  They are tools, and 'how they are used' is what matters.  Any talk of 'representation' is but shorthand for underlying usage patterns.

Richard Rorty (one of my teachers) called Wittgenstein an "anti-representationalist".  He wrote a lot of remarks on mathematics and logic.  His thinking is quite influential in some circles ("language games" and all that).

Kirby

Christian Baune

unread,
Oct 10, 2011, 1:36:41 PM10/10/11
to mathf...@googlegroups.com

One of the bests practice in software engineering is to NOT rely on defaults values.

Let say that the Python team decide to change the space separator with a coma. What happens ? Software break !

Another example, SQLServer takes into account the locale of his host.
When you issue a select statement involving currencies they get formatted in a lot of funny formats.
Eg :
1 000.01
1,000.01
1.000,01
1000.01
1000,01

So, if you want to make good queries, you've first to tell which locale you want.

We do the same in maths, when symbols aren't obvious like :
P[x], A|B or C(n,k)

Even N* may require some explanations.

Kind regards,
Christian

Paul Libbrecht

unread,
Oct 10, 2011, 1:48:03 PM10/10/11
to mathf...@googlegroups.com
Bradford,

your description seems to indicate our ancestors have voted on the usage of the + sign, in some world-consenus (the UNO?).
This is not the history I have met.
Similarly, I have never chosen to bear the name I have, neither have I chosen to write the word chosen this way.

It does not matter whether the defaults are sensible, it allows the economy of language.
Imagine I would need to ask you if it's ok for me to speak to you in English...
Imagine we should agree at each mail that the numbers inside here are in decimal writing...
All defaults.

paul

PS: who ever was talking about betterment? I was talking about acceptance!

Mike South

unread,
Oct 10, 2011, 2:03:15 PM10/10/11
to mathf...@googlegroups.com
On Mon, Oct 10, 2011 at 12:36 PM, Christian Baune <progr...@gmail.com> wrote:

One of the bests practice in software engineering is to NOT rely on defaults values.

So, in every program you write you have a preamble to set every environment and global variable to the default before you do anything else?

I doubt it.  Maybe in certain kinds of systems, but this is not normal practice.  Typically people depend on the defaults to be whatever the default is defined to be, and only when something else start behaving in a bad way (changing the default and not changing in back to the way it was before giving up control) do you have to deal with the situation, usually by flogging the person that's doing it wrong.  If there is a historical issue with things polluting defaults you might have code that sets them to deal with it, usually some specific value that people consistently mangle.
 

Let say that the Python team decide to change the space separator with a coma. What happens ? Software break !

Yeah, but generally speaking if you do something that radical you warn your users and phase it in slowly, in the beginning requiring people to specifically say they want the new behavior, etc.

There are so many defaults at play that it would be way too time consuming (in most applications) to insulate against all things that entropy and human stupidity are going to throw at you.  There are exceptions, security being a good example, and control systems being another.  Those things take a lot longer to develop, but the extra cost is deemed worth it because of the price of failure.

Do you put a plus sign in front of every number in your code in case the Python team decides to change the default to negative?

In the real world you make some estimate of the cost and benefit and hope you get the balance right.

I have a friend who says " five sevenths of 'default' is 'fault' " :).  In limited situations, you can, nay, must think like that, but it's ... not the default.

mike

mike

Bradford Hansen-Smith

unread,
Oct 10, 2011, 2:16:17 PM10/10/11
to mathf...@googlegroups.com
Paul,  I suspect the history you have met is not far different than the history I have met, filled with assumptions and bias manipulations of facts which are not always true. We choose to accept it by default because we were not there or we chose not to accept it. Ah the picking and choosing to figure out the difference between something of value and nothing.

PS: Acceptance without betterment (growth) is by default non growth and therefore nonproductive, no betterment.

Algot Runeman

unread,
Oct 10, 2011, 3:41:16 PM10/10/11
to mathf...@googlegroups.com
On 10/09/2011 11:50 AM, Sue VanHattum wrote:
> In GeoGebra round(-1.5) = -1 (rounds "up")
>
> In Excel round(-1.5) = -2 (rounds away from zero)
>
> What do we teach our kiddies these days? What does your favorite
> program do?
> Thanks for your help!
> Linda
>
From the Linux camp:
KSpread rounds -1.5 to -2 (out from zero)
LibreOffice spreadsheet rounds -1.5 to -2 as well
KRunner (which has math functions built into the logic) also rounds -1.5 to -2


It would appear that the computing standard is to round away from zero in both the positive and negative numbers.

The Wikipedia article: http://en.wikipedia.org/wiki/Rounding says there are several rounding methods, but the telling one within computer logic seems to be the one used in financial transactions for which programs like Excel were built. Excel probably mirrored the practice of Lotus 1,2,3 and maybe even Visicalc before it. The article also stated that the round "up" which is found in GeoGebra is commonly taught in U.S. elementary schools. The article discusses the logic involved in several rounding schemes.

It may be that many of these programs rely on a common math library (code module) for their rounding rules. For example, the C++ library (cmath or math.h) uses "round - round to integer (returns double), rounding halfway cases away from zero" which reflects the usage in Excel, LibreOffice, Kspread, etc.

It might be interesting to hear from users of each programming language to see which rounding convention is used. (disclaimer: I'm not a programmer. I looked up the info for the cmath library.)

--Algot



-- 
-------------------------
Algot Runeman
47 Walnut Street, Natick MA 01760
508-655-8399
algot....@verizon.net
Web Site: http://www.runeman.org
Twitter: http://twitter.com/algotruneman/
sip:algot....@ekiga.net
Open Source Blog: http://mosssig.wordpress.com
MOSS SIG Mailing List: http://groups.google.com/group/mosssig2

Maria Droujkova

unread,
Oct 10, 2011, 4:00:07 PM10/10/11
to mathf...@googlegroups.com
On Mon, Oct 10, 2011 at 1:36 PM, Christian Baune <progr...@gmail.com> wrote:

One of the bests practice in software engineering is to NOT rely on defaults values.


When I work with software engineers, I expect them to know cultural defaults enough that I don't have to specify their existence. It's fine and necessary to double-check all defaults, but I hate it when I have to specify every little thing in the first place, as if I am talking to a machine, rather than a human. I feel it's faster to program myself, then!

However, to write the code one needs to be very acutely aware of all the defaults. That includes being able to specify them, depending on the context of the situation.

So, I think both practices - knowing the cultural default values, and not having to rely on them - have merit. Programmers do need to be conscious and flexible about defaults. They also should be culturally aware enough to be able to specify defaults for (international) clients or project collaborators, based on the context.

Paul Libbrecht

unread,
Oct 10, 2011, 4:52:23 PM10/10/11
to mathf...@googlegroups.com
I wonder where you put this kind of education in a computer science curriculum.
I do not think HCI is the right place.

I've always asked my students to have some math feelings, but it's always been an extra that is very hard to require.

Nice, yet another "real" soft skill.

paul

Maria Droujkova

unread,
Oct 10, 2011, 5:01:14 PM10/10/11
to mathf...@googlegroups.com
On Mon, Oct 10, 2011 at 4:52 PM, Paul Libbrecht <pa...@hoplahup.net> wrote:
I wonder where you put this kind of education in a computer science curriculum.
I do not think HCI is the right place.

I am not sure about CS curricula, but the skill itself has to do with requirement description and management. People who can holistically understand requirements (e.g., "metaphors" from the agile process) and then analyze assumptions are very valuable. I think the derogatory term "code monkey" describes people unable to do so: http://en.wikipedia.org/wiki/Code_monkey

kirby urner

unread,
Oct 10, 2011, 5:03:28 PM10/10/11
to mathf...@googlegroups.com
I understand the dismay many feel when encountering status quo
"defaults" that seem anything but sensible.

The opportunity in a math context is to show that arbitrary (not
necessarily sensible) conventions do play a big role.

One of the conventions I fight is this bias in favor of cubes, making
all volume measures with respect to this unit.

Students get through school without ever learning of alternative ways
of thinking, about 3rd powering, about non-rectilinear space-filling
ala XYZ.

At least when they're in *my* classes, they get to experience some
"defaults" they were never aware of before, because they were taken
for granted as not modifiable.

And what we learn in math applies elsewhere, when it comes to removing
blinders, and realizing new freedoms.

Kirby

Christian Baune

unread,
Oct 11, 2011, 2:23:36 AM10/11/11
to mathf...@googlegroups.com
Yes, volume units are very nice to show to students that we can express the same thing differently !
m³, litters,

One exercises I appreciated in high school and that is common nonsense for students is unit conversion.

mok...@earthtreasury.org

unread,
Oct 15, 2011, 1:38:26 AM10/15/11
to mathf...@googlegroups.com
On Sun, October 9, 2011 2:16 pm, John Bibby wrote:
> Wikipedia has far more information than any of us need:
> http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer
>
> Most to the point: what do we tell the kids? In my view it should be:
>
> "It doesn't really matter which way you do it (if it does matter, then you
> shouldn't be rounding in the first place),

This is not agreed to by those to whom it does matter, the numerical
analysts. I have posted their solution in a separate e-mail to this group.

> but the convention is to round to
> the nearest, and when two are equidistant then round towards zero".
>
> NB: The following should NOT be done in front of the children: Teachers
> who want to be perverse

This is not perverse. It is fundamental in the study of error-correcting
codes, to give just one example.

> might ask about how to round complex numbers or
> multidimensional vectors. Should you round each element separately, or
> should you move to the nearest Gaussian vector in n-space?

The ISO/ANSI APL standard defined complex floor and ceiling functions in
the 1980s, giving the basis for rounding functions. Common LISP and Ada
followed its lead on the definitions of all complex-valued functions. The
formal definition requires that you know a fair amount of complex
arithmetic and APL both, more than I can explain in an e-mail.

For a complex argument, the definition of <. is modelled by:

floor=: j./@(ip+(c2>c1),c1+:c2)
'`c1 c2 fp ip'=:(1:>+/@fp)`(>:/@fp)`(+.-ip)`(<.@+.)

As developed by McDonnell [10], this function has the following properties:

Convexity: If (<.z1)=(<.z2) and z3 lies on the line between z1 to z2,
then (<.z3)=(<.z1) .
Translatability: If z4 is a Gaussian integer, then (z4+<.z5)=(<.z4+z5) .
Compatibility: (<.x j.0)=((<.x)j.0) and (<.0 j.x)=(0 j.(<.x))

McDonnell, E.E., Complex Floor, APL Congress 73, North-Holland/American
Elsevier.

The basic idea is that we define a square for each Gaussian integer in the
complex plane, giving the set mapped to that point by floor. The region is
tilted at 45 degrees, with the given point on the bottom left side. These
regions are marked out by lines from upper left to lower right through
joining Gaussian integers, and from upper right to lower left going midway
between them. We then round using floor(z+0.5*(1+i)).

> JOHN BIBBY
>
> The important thing is to stress that this is a convention, not a
> mathematical "truth" (which not all programs follow)

Correct.

> On 9 October 2011 18:38, Christian Baune <progr...@gmail.com> wrote:
>
>> For java, BigDecimal should be used. You can choose the scale, precision
>> and rounding mode with a math context !
>>
>> Also, java offer a strict float mode.
>>
>> But, for precision, always use BigDecimal !
>>
>> As an example 1/5 can't be represented using double or float.
>> Things like (1/5)*5 wouldn't be equal to 1!
>>
>> So, BigDecimal in java is the way to go.
>>
>> Kind regards,
>> Christian

>> Le 9 oct. 2011 17:09, "Edward Bujak" <edward...@hotmail.com> a �crit
>> :
>>
>> TI-Nspire CAS handheld
>> calculator<http://education.ti.com/calculators/products/US/Nspire-Family/>("away


>> from 0")
>>> round(-1.5,0) = -2
>>> round(1.5,0) = 2
>>>
>>> Excel 2003 ("away from 0")
>>> ROUND(-1.5,0) = -2
>>> ROUND(1.5,0) = 2
>>>

>>> Mathematica <http://www.wolfram.com/mathematica/> ("away from 0")


>>> Round[-1.5] yields -2
>>> Round[1.5] yields 2
>>>
>>> Microsoft Mathematics

>>> 4<http://www.microsoft.com/download/en/details.aspx?id=15702>(free


>>> computer software)
>>> round(-1.5) = -1
>>> round(1.5) = 2
>>>

>>> Alice 2.2b <http://alice.org/> programming environment (free computer


>>> software)
>>> round(-1.5) = -1
>>> round(1.5) = 2
>>>

>>> Processing <http://processing.org/> programming environment (Java)


--
Edward Mokurai
(&#40664;&#38647;/&#2343;&#2352;&#2381;&#2350;&#2350;&#2375;&#2328;&#2358;&#2348;&#2381;&#2342;&#2327;&#2352;&#2381;&#2332;/&#1583;&#1726;&#1585;&#1605;&#1605;&#1740;&#1711;&#1726;&#1588;&#1576;&#1583;&#1711;&#1585;
&#1580;) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks


kirby urner

unread,
Oct 15, 2011, 11:37:23 PM10/15/11
to mathf...@googlegroups.com
On Mon, Oct 10, 2011 at 11:23 PM, Christian Baune <progr...@gmail.com> wrote:
> Yes, volume units are very nice to show to students that we can express the
> same thing differently m³, litters,

In our school, it's important to question the cube, the shape itself, as the
defacto best or only shape to use, for describing units of volume.

Why a cube?

There's actually a lot one could say on this point.

However, picture something like a Montessori school kit or "job"
made of hollow vessels, each of a specific shape and dimension.

Water or grains, salt, other ingredients used in cooking, may
be poured from shape to shape, like measuring cups.

We're used to unit cups, unit teaspoons, that are anything
but cubical.

Likewise our unit volume tetrahedron: it's pointy and has only
four corners instead of six.

The other shapes weigh in with their relative volumes (relative
to this one) with the cube reappearing in the Volume 3 position.

It's a different game, but important for all the hooks it gives
us, to related mathematical topics, and also to lore.

Kirby

Paul Libbrecht

unread,
Oct 16, 2011, 3:32:35 AM10/16/11
to mathf...@googlegroups.com
Le 16 oct. 2011 à 05:37, kirby urner a écrit :

We're used to unit cups, unit teaspoons, that are anything
but cubical.

Again a cultural difference: such units are largely absent in Europe.

A similar difference occurs with the usage of feet and inches, which sounds fully esoteric to a european school kid.
Where, however, it goes into the math concepts is that fractions of inches are commonly used to describe thicknesses. 

When I show the box of drill-bits from Canada to my colleague mathematicians, explaining them most technicians are able to say that 7/32 is smaller than 5/16 they feel really amazed!

paul

kirby urner

unread,
Oct 16, 2011, 8:08:44 AM10/16/11
to mathf...@googlegroups.com
On Sun, Oct 16, 2011 at 12:32 AM, Paul Libbrecht <pa...@hoplahup.net> wrote:
> Le 16 oct. 2011 à 05:37, kirby urner a écrit :
>
> We're used to unit cups, unit teaspoons, that are anything
> but cubical.
>
> Again a cultural difference: such units are largely absent in Europe.

Good point. However the standard units of volume in the metric system
tend to be cube shaped, just as in the Anglo-American system.

Imagine having a small unit tetrahedron of sugar or salt, and then
expanding that tetrahedron by quadrupling each edge. Each
edge is now 4x the original unit. By how much has volume increased?

What's maybe not made sufficiently clear in some curricula is the
linear : areal : volumetric change rates are 1st, 2nd, 3rd power
respectively so the new volume is 4 to the 3rd power or 64.

Imagine living in a culture where every time you saw "3rd power"
you spontaneously thought more in terms of a tetrahedron than
a cube, that would be strange (weird, alien seeming).

On the other hand, your space-filling rhombic dodecahedron,
with diamond faces, might be logically sized to contain six of
your units. The octahedron: four. Already, that's more whole
number thinking than we expect from the polyhedrons, based
on the time-honored cube-based approach.

Kirby

mok...@earthtreasury.org

unread,
Oct 17, 2011, 2:21:29 PM10/17/11
to mathf...@googlegroups.com
On Mon, October 10, 2011 12:51 pm, Bradford Hansen-Smith wrote:
> "*sensible defaults* should be understood as culture matching. Some have,
> in their culture, rounding one way or another.

Really? I never heard of that. Can you give me a link?

> Binding to a software is culture defining."
>
> "Sensible defaults" are nonsense. It suggest cultural mismatching, not
> logical for cultural betterment.
>
> To default means we have given up the ability to make a choice, or having
> it taken from us.

No, a default means that one can make a choice, but if one doesn't, things
won't break. Some value will be available to use.

> There is nothing sensible about default when one is put


> at disadvantage unless there is agreement by ALL involved to abide by
> default.

You can't get 100% agreement that the sky is blue. Because, of course, it
can't be blue over more than half the Earth at the same time. What we do
have is agreement to disagree, using the locale mechanism, on how to
represent time, dates, money, and numbers more generally, and agreement
that programmers will not use hard-coded representations of any of them.

> Now about zero. How is it we have a symbol for nothing?

How is it that you did not learn that this is one of the greatest
intellectual achievements of all time, comparable with turning the rocks
over and chipping the edges from both sides?

> I understand
> symbols to represent something. Nothing is a concept of non existence,

This was the argument of the Catholic Church when Fibonacci introduced
Hindu-Arabic numerals and methods of calculation to Europe during the
period of the Crusades. The use of 0 was denounced as blasphemy against
the Creator.

It is the reason why the initial hour of the day has been 12, or rather
XII, for the last millennium since cathedral clocks were invented. It only
became 0 with the advent of the 24-hour clock cycle, which incidentally
allows us to tell for sure that 00:00 is the beginning of the following
day, not the ending of the previous day, which is 23:59:59.999...for any
finite number of 9s. It also does away with the ambiguity of 12 am and 12
pm. 12:00 is noon, and 00:00 is midnight, with no possibility of
confusion.

> similar to sensible defaults. So here we are discussing how to round
> something of value off to nothing simple because of a symbol without
> value.

Conflating a value of 0 with having no value is one of the most elementary
category errors. No programming language agrees with you. No accounting
program agrees with you. In J, for example, at the beginning of a session,

a NB. No value
|value error: a
a=.0 NB. Value of 0
a
0

(In any case, the question was not the value of 0, it was the correct
method of rounding for negative numbers--should -1.5 be rounded to -1 or
-2? Various people have various notions. I try to stick with the numerical
analysts, who recommend rounding to even numbers so that we round about
equally up and down.)

Similarly for the empty set in mathematics. Any attempt to argue against
it would apply equally to an empty cup, bowl, or container of any other
kind.

Similarly for the empty list () in LISP, or empty arrays such as '' (empty
string) or 0#0 (empty numeric list) in APL/J.

I don't personally care how negative you may be toward 0 and negative
numbers. ^_^

> Wall Street had this figured out years ago.

LOL. Your side of this argument lost when the earliest credit card
software closed every account that was paid in full down to $0. The
customers howled at the issuers, and the issuers howled at the
programmers, and that was the end of that.

> Brad

mok...@earthtreasury.org

unread,
Oct 17, 2011, 2:33:13 PM10/17/11
to mathf...@googlegroups.com
On Mon, October 10, 2011 4:52 pm, Paul Libbrecht wrote:
> I wonder where you put this kind of education in a computer science
> curriculum.
> I do not think HCI is the right place.

I don't know where it should go, but we need much more of the technique
known as defensive programming, in which one accounts for all possible
sources of error. It can be as simple as using named constants rather than
"magic numbers" to avoid confusion and make updating easy and foolproof,
or as complex as the choice to validate or reject user input.

We have seen a number of security updates in Ubuntu Linux in recent weeks,
when it was discovered that interpreting text strings in graphics files
could result in executing arbitrary code. The parser had failed to account
for the possible effects of control characters in text strings, or
something of the sort.

> I've always asked my students to have some math feelings, but it's always
> been an extra that is very hard to require.

This is not so much a CS skill, but a part of Numerical Analysis. Which
every CS student should nevertheless know something about.

> Nice, yet another "real" soft skill.

NA is about as hard as skills get, when done right.

> paul
>
> Le 10 oct. 2011 � 22:00, Maria Droujkova a �crit :


>
>> So, I think both practices - knowing the cultural default values, and
>> not having to rely on them - have merit. Programmers do need to be
>> conscious and flexible about defaults. They also should be culturally
>> aware enough to be able to specify defaults for (international) clients
>> or project collaborators, based on the context.
>

> --
> You received this message because you are subscribed to the Google Groups
> "MathFuture" group.
> To post to this group, send email to mathf...@googlegroups.com.
> To unsubscribe from this group, send email to
> mathfuture+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mathfuture?hl=en.
>
>

mok...@earthtreasury.org

unread,
Oct 17, 2011, 2:45:52 PM10/17/11
to mathf...@googlegroups.com
On Mon, October 10, 2011 5:03 pm, kirby urner wrote:
> I understand the dismay many feel when encountering status quo
> "defaults" that seem anything but sensible.
>
> The opportunity in a math context is to show that arbitrary (not
> necessarily sensible) conventions do play a big role.
>
> One of the conventions I fight is this bias in favor of cubes, making
> all volume measures with respect to this unit.
>
> Students get through school without ever learning of alternative ways
> of thinking, about 3rd powering, about non-rectilinear space-filling
> ala XYZ.

Have you ever studied measure theory or crystallography or modular forms?
Each provides a much wider concept of measuring than the usual unit cube.
How about measure in non-Euclidean spaces, where the area of a triangle is
proportional to the difference of its angle-sum from 180 degrees? For
example, on a sphere you can draw triangles with three right angles, whose
area is one eighth of the entire sphere. Similarly for fitting a finite
set of tetrahedra of a certain size together to tile all of a
3-dimensional elliptic space.

> At least when they're in *my* classes, they get to experience some
> "defaults" they were never aware of before, because they were taken
> for granted as not modifiable.
>
> And what we learn in math applies elsewhere, when it comes to removing
> blinders, and realizing new freedoms.
>
> Kirby
>

> --
> You received this message because you are subscribed to the Google Groups
> "MathFuture" group.
> To post to this group, send email to mathf...@googlegroups.com.
> To unsubscribe from this group, send email to
> mathfuture+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mathfuture?hl=en.
>
>

kirby urner

unread,
Oct 17, 2011, 5:19:18 PM10/17/11
to mathf...@googlegroups.com
On Mon, Oct 17, 2011 at 11:45 AM, <mok...@earthtreasury.org> wrote:

> Have you ever studied measure theory or crystallography or modular forms?
> Each provides a much wider concept of measuring than the usual unit cube.

Yes, Dr. Loeb of MIT, crystallographer, was sympathetic to
the idea of introducing the CCP / FCC packing NOT in
terms of a cube, but a cuboctahedron. That's six square
faces, eight triangular, as you know, the corners coincident
with the centers of CCP balls, nuclear ball at the center,
12-around-1.

The question then becomes: how many balls in the next
layer out, surrounding the 12? The sequence is 1, 12, 42, 92...
and if you look it up in OEIS you'll even fine my name in the
links section, as I relate these to the morphology of the virus.

Here's from Linus Pauling special collection, same arrangement:
http://www.flickr.com/photos/17157315@N00/3049399298/in/set-72157609640895901
(92 in this 3rd layer: 10 * F * F + 2, F= 3).

In the RadMath curriculum I tout, said cuboctahedron has
a volume of precisely 20, relative the unit of volume formed
by any four in closest-packing (their 4 center form the tetra-
hedron or simplex, topology's most primitive enclosure in
so-called 3-space ("so-called" because there's other term-
inology we might use some of the time)). The octahedron,
which fills space in complement with the tetrahedron, has
volume 4. I already mentioned our rhombic dodecahedron
(space-filling, volume 6). Even our elementary school
teachers know this much, as it's what they learned in the
1970s.

> How about measure in non-Euclidean spaces, where the area of a triangle is
> proportional to the difference of its angle-sum from 180 degrees? For
> example, on a sphere you can draw triangles with three right angles, whose
> area is one eighth of the entire sphere. Similarly for fitting a finite
> set of tetrahedra of a certain size together to tile all of a
> 3-dimensional elliptic space.

Of some interest is what it takes to be non-Euclidean. The
traditional meaning is we've somehow jiggered with the
5th Axiom, but Karl Menger (Vienna Circle) suggested we
might jigger the definition of "dimension" and likewise
escape the Euclidean vortex.

Change definitions, not just axioms sometimes.

Let every shape, point, line, plane or polyhedron, be
considered a volume. He called it "a geometry of lumps"
and it plays much the same role as discrete vs. analog
signals, but in geometry.

Volume quanta are irreducible to anything of "lower"
dimension.

Makes sense when doing ray tracing, or claymation.

>> At least when they're in *my* classes, they get to experience some
>> "defaults" they were never aware of before, because they were taken
>> for granted as not modifiable.
>>
>> And what we learn in math applies elsewhere, when it comes to removing
>> blinders, and realizing new freedoms.
>>

Alluding to Erich Fromm somewhat:

http://en.wikipedia.org/wiki/The_Fear_of_Freedom
(linked from today's blog post as well)

Kirby

Reply all
Reply to author
Forward
0 new messages