Register to reply 
[Mathematica 6.0+] Preserving order of variables 
Share this thread: 
#1
May2609, 03:24 PM

PF Gold
P: 466

Is there a way to set Mathematica so that it preserves the order of variables.
i.e. I put: F[x_] = A B x F[a] output : aAB where I would want it: ABa Thanks. 


#2
May2609, 05:04 PM

Sci Advisor
HW Helper
P: 4,300

I am having the same problem.
The best solution I have found in general is using NonCommutativeMultiply: F[x_] := A ** B ** x although you usually have to define lots of other stuff to get everything working out as you want. In some cases (like where A and B are explicitly defined matrices) you can use matrix multiplication F[x_] := A . B . x or a function F[x_] := AB[x] Do you have anything specific in mind? 


#3
May2609, 06:17 PM

PF Gold
P: 466

I just have a long string of things that could either be matrices or vectors or scalars or tensors or etc. I'm trying to do some simplifications and then use the output. Its nothing special, I just need to preserve order. I'm not doing any REAL products (like inner, outer, contractions, etc) just representative products. If I define everything as matrices/vectors etc then it'll try to simplify it which i don't want. It needs to stay symbolic, yet perform basic distribution multiplication.
I guess I'll try the noncommutative, that should work. Thanks! 


#4
May2709, 08:38 AM

Sci Advisor
HW Helper
P: 4,300

[Mathematica 6.0+] Preserving order of variables
If you want distributivity, you probably want to define something like
By the way, you can also try



Register to reply 
Related Discussions  
Orderpreserving Embedding Functions  Set Theory, Logic, Probability, Statistics  1  
How do i plot a function of two variables in mathematica?  Math & Science Software  3  
Orderpreserving injection  Calculus & Beyond Homework  1  
Order (mathematica)  Math & Science Software  4  
Second order diff eq with two variables  Calculus & Beyond Homework  7 