I had another question. 
 
In my rules for the simplification of my matrix 4*4, there a lot of 
expression of the type « *y11*y12==-y12*y11* », in fact the place of the* 
yij *(*in the first position or in the second position, there are commuting 
only if all the indice are different*) is important but i remark that for 
fricas it is the same.

Here are my rules : « *yjk*yjl=-yjl*yjk for k ≠ l;ykj*ylj=-ylj*ykj for k ≠ 
l; yjk*ylm=ylm*yjk for j ≠ l and k ≠ m*».

Fricas dont make the difference between the two position, what can i do to 
force fricas to make the difference ? 
Thanks in advance.

Le mardi 9 juin 2015 10:30:48 UTC+2, Souleiman omar hoche a écrit :
>
> Thank you very much. That's exactly what i want. I really appreciate this 
> forum. You are really very efficient and helpful. Thanks again. 
>
>
> Le lundi 8 juin 2015 23:11:46 UTC+2, Ralf Hemmecke a écrit :
>>
>> > Is it possible to simplify the matrix M in one shot? Idest all the 
>> elements 
>> > of the matrix M in one shot? 
>>
>> As I said, use map for this. 
>>
>> (1) -> m := matrix([[a*log(sin x)-2*log(x), log(x)+log(y)], 
>> [log(x)-log(y), 3*log(x)-4*log(x+3)+log(y)]]) 
>>
>>         +a log(sin(x)) - 2log(x)         log(y) + log(x)        + 
>>    (1)  |                                                       | 
>>         +   - log(y) + log(x)     log(y) - 4log(x + 3) + 3log(x)+ 
>>                                             Type: 
>> Matrix(Expression(Integer)) 
>> (2) -> logrules:=rule(log(x)+log(y)==log(x*y); 
>> log(x)-log(y)==log(x/y);y*log(x)==log(x^y)) 
>>
>>    (2) 
>>    {log(y) + log(x) + %B == log(x y) + %B, 
>>                                   x                         y 
>>     - log(y) + log(x) + %C == log(-) + %C, y log(x) == log(x )} 
>>                                   y 
>>                            Type: 
>> Ruleset(Integer,Integer,Expression(Integer)) 
>> (3) -> map(c +-> logrules c, m) 
>>
>>         +          a                                    + 
>>         |    sin(x)                                     | 
>>         |log(-------)              log(x y)             | 
>>         |        2                                      | 
>>         |       x                                       | 
>>    (3)  |                                               | 
>>         |                                3              | 
>>         |       x                       x y             | 
>>         |   log(-)     log(----------------------------)| 
>>         |       y           4      3      2             | 
>>         +                  x  + 12x  + 54x  + 108x + 81 + 
>>                                             Type: 
>> Matrix(Expression(Integer)) 
>>
>> Note that you defined logrules to work on "Expression(Integer)" (I 
>> abbreviate by E), however "Matrix(E)" is not the same type as E. But the 
>> entries of the matrix are of type E, so "map" does the job of applying 
>> logrules to each entry. 
>>
>> The form "c +-> logrules c" is a lambda expression that locally defines 
>> a function that takes an entry c of the matrix and applies logrules to 
>> it. 
>>
>> Hope that helps. 
>>
>> Ralf 
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to