> < ^ From:

< ^ Subject:

Dear GAP-forum,

Rayner@dcs.st-and.ac.uk, "Bernard [IES]" writes:

> 1. Are there any moves afoot to write a version of GAP in C++ and/or and

> > object-oriented version of the GAP language?

> >

> > If so I'd be interested to know about it.

> >

> > If not, would there be any interest in such a project?

I guess that rewriting GAP in C++ (not only the kernel only)

would be a major project needing maybe 10 times as many developers as

are involved in GAP development now.

And rewriting the kernel in C++ would result in slower, bigger

kernel...OO-methodology has its limitations, and computer algebra systems

are a good example for such limitations. To (mis)quote a classic,

"it's better to have 100 functions operating on 1 type of objects,

than 10 functions operating on 10 types"...Cayley had a stronger type system than GAP, and it's often

quite hard, or impossible, to get over these type barriers.

I remember that for some nontrivial tasks that I did in Cayley

(at that time (1993) GAP was still a quite bit slower)

required outputting data to a file, editing it, and

rereading it back in, as it was no way to convert from a

module generator to a matrix, or something like that...

(OK, Cayley is now called Magma, and has presumably much improved.)> > 2. I'm currently looking into algorithms for generating the coefficient of a

> > given symmetric function in a given product of other symmetric functions

> > (with the possibility of extending it to functions of a given symmetry

> > type). A special case of this is of course the multinomial theorem, which is

> > already done in GAP.

> > It therefore occurs to me that I may well be reinventing the wheel here, so

> > I'd be interested in any similar work in progress or completed.

This is a special case of the question of working with invariants of

a given finite group. I am not sure what you mean by

"functions of a given symmetry type" - functions that are

invariant under a given permutation group?I know of a Maple program that deals with invariants of finite

groups, it's called INVAR, and used to be distributed with Maple.

Regards,

Dmitrii

> < [top]