User talk:NoJoy

From Wikipedia, the free encyclopedia

Welcome!

Hello NoJoy, and welcome to Wikipedia! Thank you for your contributions. I hope you like the place and decide to stay. Here are a few good links for newcomers:

I hope you enjoy editing here and being a Wikipedian! Please sign your name on talk pages using four tildes (~~~~); this will automatically produce your name and the date. If you have any questions, check out Wikipedia:Where to ask a question or ask me on my talk page. Again, welcome!  -- KHM03 18:48, 28 October 2005 (UTC)

[edit] Iterated operators

Hello, NoJoy!

Do you mind if I change indexing a bit in the Iterated_binary_operation item? I think that enumerating the sequences from 1 on would make things a bit clearer to the reader; especially when we attempt to explain 'empty iterations'. In other words, I'd like to let F1(a1,a2,...) = a1, which makes it easier to explain that we may set F0(a1,...) = id, an identity element, if there is one. JoergenB 12:16, 28 August 2006 (UTC)

Well, after re-reading the item more carefully, I see that the indices (which I have a little trouble to read in my browser) are l for 'left' and r for 'right', not counting indices, as I first believed. That means that my suggested change is restricted to the indices of the items within the sequence; leaving k as the last index, if there are k objects in the sequence. (I misread your definition, which is my fault; it is logically consistent.) JoergenB 13:34, 29 August 2006 (UTC)

I don't have any experience with using these talk pages, so I don't know if I'm supposed to answer your question to me by editing my own talk page or yours. If you think the subscripts are hard to read, you could change them to upper case. I just re-read your other suggestion. Are you wanting to re-index the sequences from 1 to k, instead of 0 to k-1? If so, I would prefer that you not. Having had a class from Dijkstra, I am a firm believer in the benefits of counting from zero, one of them being that the upper bound on the index is also the length of the sequence.NoJoy 16:32, 11 September 2006 (UTC)

I am rather new to Wikipedia myself (having been here a couple of weeks now), so don't take my opinion on where to answer too seriously. When I put a question anywhere and want to get information on the results, I click the "watch" button at the top of the page. I did it with your talk page when I put my question here. Thus, when I choose "my watchlist", I am informed on changes to your talk page, and can go here, read, and perhaps answer. (If you haven't done so, I'd suggest that you put pages you create, like Iterated binary operation, or find rather interesting for editing, on your watchlist.) Since I started at your page, I took the liberty to move your answer there, to have the discussion connected.

I'm not going to change the indexing, if you wouldn't like that. However, please note that there are other ways to achieve equivalent results. As I teach it, a sequence indexed from 1 to k does have the upper bound (k) of its indices equal to its length (also k). However, the main advantage would be in an explicit handling of the empty case. I have not quite seen how to do this, if indexing is not changed.JoergenB 17:18, 11 September 2006 (UTC)

Can you elaborate on what you mean about an explicit handling of the empty case? I would simply write Fl((ai : 0 <= i < k)) = e, if k = 0.

And I guess I misstated the benefit. What I should have said is that if one bound is inclusive and the other is exclusive, then subtracting the bounds yields the length of the sequence (I use this to my advantage in programming all the time). But since it seems unnatural to me have an exclusive lower bound, and confusing to use an exclusive k+1 upper bound, the [0, k) bound makes the most sense to me. But I can certainly sympathize with people who find it confusing that a0 is the first element, not the "zeroth". NoJoy 20:20, 11 October 2006 (UTC)


I see your point. However, in this case, we should mostly have a fixed lower limit, and thus seldom bother the reader with a subtraction of indices. (By the way, re-reading the article, I wonder if we didn't miss a few small typos. Shouldn't e.g. the explicitly given last element be ak-1 rather than ak in your variant of defining Fl for k > 1?) I think the 'interested but amateur' reader easier could read something like this:

Formally, the iterated operaters may be defined recursively as follows.
For f : S × SS, define a new function Fl on nonempty sequences of elements of S, where Fl((a1)) = a1, and Fl((a1,...,ak)) = f(Fl((a1,...,ak-1)), ak) for k > 1. Similarly, define Fr((a1)) = a1, and Fr((a1,...,ak)) = f(a1, Fl((a2,...,ak))) for k > 1.
If f is associative, Fl = Fr.
If f has a unique left identity e, instead the recursive definition of Fl may start at the empty sequence, (), by defining Fl(()) = e, and by applying the 'recursive formula' for k = 1, too. (Since (a1,...,a0) = () by convention, we still get Fl((a1)) = f(e, a1) = a1.). Similarly, Fr can be modified to operate on the empty sequence, if f has a unique right identity.
In all the four examples supra, the binary operations indeed is associative. In the first three examples, there is also an identity element ((actually, I prefer the term neutral element)); whence indeed we get
\sum_{i=1}^0 a_i = 0\,,\quad \prod_{i=1}^0 a_i = 1\,,\quad \bigcup_{i=1}^0 M_i = \emptyset\,.

(Recall that there is just one empty sequence, as well as only one empty set.) As I wrote before, your exhibition is logically consistent (well, modulo typos, of course...); and may even be more fit for a direct translation into a piece of a computer programme. However, we write more for the benefit of humans than for computers, I think. JoergenB 23:21, 11 October 2006 (UTC)


We don't have a fixed lower limit in the recursive definition of Fr.

The terminology "identity element" is already the usage on the Binary operation page. There is no mention there of the term "neutral element".

You introduce your definitions by saying that the operators can be defined "formally" using your definitions, but then use elipses (...) in your definitions, which I have again been biased by Dijkstra to consider informal.

I don't see the k vs. k-1 typo. The k-1 bound in the recursive definition of Fl is exclusive and I believe correct, as is the k bound in the recursive definition of Fr.

I didn't mean to imply that the page should look like a computer program or be readable by programmers, just that I am biased towards certain conventions by my background.

I see that the page on sequences unfortunately uses 1-based indexing and your colloquial syntax for sequences. If you feel strongly about it, go ahead and change the notation for consistency, although please don't use the word formal. I will like it less, but won't make a big deal out of it.

I love your idea of tying back to the examples. NoJoy 22:24, 13 October 2006 (UTC)