# Eigenprograms of Joy.

## John Carter — 2002-01-13 20:53:38

    Silly thought for today.

    Suppose there existed a fragment L of Joy which commutes with any other

    fragment. ie. For all C, C L == L C. We could then invent the term, L is a

    scalar fragment of Joy. (Candidate fragment's id, or id id)

    Suppose there exists a Joy program A, a scalar fragment L and a stack e,

    then we could call A an eigenprogram of the eigenstack e if A e == L e

    Questions to the group...

    1) Provide examples of these concepts.

    2) What can one prove about these things.

    John Carter                             Phone : (64)(3) 358 6639

    Tait Electronics                        Fax   : (64)(3) 359 4632

    PO Box 1645 Christchurch                Email : john.carter@...

    New Zealand

    Zeitgeist shutting down for corrective maintenance, please log off.

## Manfred von Thun — 2002-01-24 04:56:47

    On Mon, 14 Jan 2002, John Carter wrote:

     > Silly thought for today.

     Not silly at all: very interesting and fundamental.

    I take it that some of your terms come from linear algebra about which

    I know just about nothing. But I do have some related thoughts.

     > Suppose there existed a fragment L of Joy which commutes with any other

    > fragment. ie. For all C, C L == L C. We could then invent the term, L is a

    > scalar fragment of Joy. (Candidate fragment's id, or id id)

     I think that id, or id id, or any P such that P == id, and nothing

    else will be the "scalar fragments".

    But here is a related problem: find programs P and Q such that

        P Q  ==  Q P

    Then we can say that P and Q commute (for all stacks on which P and Q

    are defined). There are many solutions. I won't spoil the fun by

    giving away the answer just yet.

     > Suppose there exists a Joy program A, a scalar fragment L and a stack e,

    > then we could call A an eigenprogram of the eigenstack e if A e == L e

     When I first saw this I did not understand what you might have meant

    by   A e == L e , because e is not a program. Maybe that notation is

    intended to mean:  A(when executed on e) = L(when executed on e),

    where the = now means identity of the result stacks

    One can rephrase that by replacing e by a program Pe which builds such

    a stack. Then, if I understand you correctly, the problem you are

    posing is this:

        Pe  A  ==  L  Pe

    where this is again identity of programs (or better: the stack functions

    which they denote).

    Then we call A the eigenprogram of the eigenstack-building-program Pe.

    Now, if L is id or equivalent, then we have

        Pe  A  ==  Pe

    and there are infinitely many such pairs. Again, I won't spoil the

    fun for a while at least.

    One nice thing about Joy algebra is that such problems can all be

    expressed just in terms of program, and the stack does not have to

    enter into the equations.

     > Questions to the group...

    >

    > 1) Provide examples of these concepts.

     I'll give some hints in a week or two.

     > 2) What can one prove about these things.

     This is where it gets deeper .. and important for concatenative languages.

    Thanks for the interesting stimulus.

      - Manfred