John Fredsted

2253 Reputation

15 Badges

20 years, 192 days

MaplePrimes Activity


These are replies submitted by John Fredsted

@mskalsi: Concerning your post 'Wrong Judgement':

First of all, I am no expert either, neither in the mathematical aspects of Lie groups or Lie algebras, nor in the use of Maple concerning these. But I have some rudimentary working knowledge of Lie algebras, including root spaces, dynkin diagrams, Cartan matrices, etc.; and I have a little knowledge about Lie algebras in Maple. Actually, doing the decomposition above is my first time here in Maple, so I have also benefitted from this thread.

Concerning your question on how to determine decomposition from a multiplication table: Generally, if a multiplication table is block diagonal, then the blocks correspond to mutually commuting subalgebras (although not necessarily indecomposable subalgebras, see shortly), because the block diagonality says that elements (the generators) from one block commute with elements (the generators) from the other blocks. [It suddenly occurs to me that better names for VectorFields and newVectorFields, above, would be generators and newGenerators.]

But block diagonality does not necessarily imply indecomposablility, your algebra being a nice example of this: The multiplication table of the V's themselves, Eq. (4) in your post 'Decomposition' just above, is block-diagonal, a 4x4-block, a 3x3-block, and a 1x1-block (just a zero, meaning that V_8 commutes with all the other V's/generators), but the 4x4-block is actually decomposable into a three-dimensional Lie algebra and one-dimensional Lie algebra.

Concerning text books: I cannot readily refer you to any such. I have no such text book on my own book shelf. I would myself be interested in knowing a good introductory text book on Lie algebras, a text book with a focus on examples and applications, not on rigorous proofs and the like. I am a physicist by training. My knowledge of Lie algebras has been pieced together over time from many places, and therefore it is still somewhat shaky.

@mskalsi: That seems to be correct. Your subalgebras are the same as the ones my code gives. From the block-diagonal form of the multiplication table (that the code returns as well), it is obvious that the first three entries in newVectorFields are the basis elements of a three-dimensional subalgebra (your L_1), the next three entries another three-dimensional subalgebra (your L_2), and the remaining two entries two separate one-dimensional subalgebras (your L_3 and L_4). So I guess I do not understand your surprise. Please elaborate.

PS: I will shut down my computer for today and return back tomorrow.

@mskalsi: The following code seems to do the decomposition job:

with(DifferentialGeometry):
with(LieAlgebras):
DGsetup([x,y,z,t,u]):
VectorFields := Vector([
   y*D_y,
   z*D_z,
   z*D_y,
   y*D_z,
     D_t,
   x*D_x + 3*t*D_t,
     D_x,
   u*D_u
]):
DGsetup(LieAlgebraData(evalDG(convert(VectorFields,list)))):
newVectorFields := Decompose()[1] . VectorFields:
DGsetup(LieAlgebraData(evalDG(convert(newVectorFields,list)))):
newVectorFields,MultiplicationTable("LieTable");

Note that the first part of the code is changed a little bit in comparison with the earlier version given. The Lie algebra decomposes into four parts: two three-dimensional subalgebras, and two one-dimensional subalgebras. The variable newVectorFields contains the (non-abstract) basis in which this decomposition occurs.

A great post, which I have first discovered now. I was not at all aware of the book by Stephani et al. Neither was I at all aware of the implementation of all these solutions in Physics.

And this, that is, the latter, leads me to the following: I still (having said it before) miss some form of text book material on the Physics package. There is no doubt in my mind that I am missing out on very many nice and powerful features in the Physics package, the reason being that the huge package is, at least to me, almost impenetrable by way of the online help pages alone.

The problem is that I am unable to attain the big picture, the overall structure of the Physics package and its subpackages, its conceptual ideas/outline, etc., which for me translates into a lot of annoying trial and error goofing around with notation and help pages, which in the end have effectively made me drop trying to use all but a few parts of the package that I have, after all, figured out how to.

@Carl Love: What about doing the following?

> SampleSpace := [seq(seq([x,y],x = 1..y-1),y = 2..7)]:
roll := rand(1..nops(SampleSpace)):
> SampleSpace[roll()];

It certainly is evenly distributed (just to be sure, I have checked it using your plot-setup). And SampleSpace[roll()] performs much faster than combinat:-randcomb(7,2), by a factor of around 50 (at least on my computer).

You are welcome. For shifting only some subset of bits around, I happily refer you to Carl's solution below, in case you should not already be aware of it.

@Carl Love: I think we have a winner here :-).

@Carl Love: The distributions surely differ. My error is quite embarrasing. It just confirms what I already knew: probability theory is not my strong side.

@yongling93: You are welcome. Just to be sure, note, though, that my idea does NOT work, see above.

@ThU: I guess you are right. I have just performed some statistical analysis of the data generated using my suggestion and that generated using RandomTools:-Generate, respectively. They differ significantly in something as simple as their mean values. So my idea does not work.

@AdamBarker: You are welcome. Regarding your question on how to automatically plot the curve, I happily refer you to the complete answer by Carl Love above. He, by the way, uses rand(2), which is much smarter than my rand() as it returns 0 or 1 with equal likelihood, there thus being no need to divide by 10^12; I do not know why that did not occur to me yesterday.

@Carl Love: Now I understand.

@Carl Love: Please provide an example for the non-integer case, for I am not really sure how to use it, or what its proper utility is. For instance, the example

&B `+`(10,11,0.75);
101.1100000

mixing base-2 and base-10 is formally correct, but is it not a bit confusing? Perhaps I am using it in way that was not your intention.

@Carl Love: Clever code: both compact, and able to take any number of arguments. Concerning the latter, though, what does it amount to in the cases `-` and iquo?

Note added: Answering my own question, it seems that `-`(2,1,3,4) and `/`(2,1,3,4), say, using base-10 for simplicity, means 2-(1+3+4) and 2/(1*3*4), respectively. I am not really sure what to think of that.

@Kitonum: I did reckon that the reason for your more involved solution was simply unawareness of the convert,decimal command :-).

First 23 24 25 26 27 28 29 Last Page 25 of 68