5
$\begingroup$

This question already has an answer here:

question1:

(code 1 something wrong, Why? and how to overcome this to achieve the next code's effect)

Inner[RotationTransform,{Pi/4,Pi/4,Pi/4},{{0,0,1},{1,0,0},{0,0,1}},Composition]

(code2 it's ok, but seems type too much characters)

Inner[RotationTransform,{Pi/4,Pi/4,Pi/4},{xx,yy,zz},Composition]/.
                                           Thread[Rule[{xx,yy,zz},{{0,0,1},{1,0,0},{0,0,1}}]]

Any other codes or tips are welcome.

$\endgroup$

marked as duplicate by Mr.Wizard Jun 5 '13 at 5:59

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    $\begingroup$ Use Composition @@ MapThread[RotationTransform, {{Pi/4, Pi/4, Pi/4}, {{0, 0, 1}, {1, 0, 0}, {0, 0, 1}}}] instead. $\endgroup$ – J. M. is away May 4 '13 at 1:53
  • 1
    $\begingroup$ @J. M. ok, I found this is more simpler in my original code'style. Inner[RotationTransform,{Pi/4,Pi/4,Pi/4},Hold/@{{0,0,1},{1,0,0},{0,0,1}},Composition]//Release $\endgroup$ – HyperGroups May 4 '13 at 2:04
  • 1
    $\begingroup$ ReleaseHold[] is what the cool kids use nowadays. $\endgroup$ – J. M. is away May 4 '13 at 2:07
8
$\begingroup$

you can just add Unevaluated to prevent Inner from seeing inside:

Inner[RotationTransform, {Pi/4, Pi/4, Pi/4}, 
 Unevaluated /@ {{0, 0, 1}, {1, 0, 0}, {0, 0, 1}}, Composition]
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.