google translator =(

M1:=[[1,2,3],[4,5,6]]; // matrix define

M2:=[[1,2,3],[4,5,6],[7,8,9]];

[HOME MODE version ?] **numeric** math engine

rectangular matrix ^ n => returns a wrong object type must be a string

M1^1; => ~OK Error: Invalid input // => "Error: invalid dimension"

M1^2; => ~OK Error: Invalid input

M1^3; => ~OK Error: Invalid input

M1^4; => ~OK Error: Invalid input

M2^2; = [[30,36,42],[66,81,96],[102,126,150]] // OK

[CAS mode version **1.1.0.27**] **numeric** AND symbolic math engine

M1^1; => "Warning, ^ is ambiguous on non square matrices, Use .^ to apply ^ element by element." ?? => [[1,2,3],[4,5,6]] // == .^ OPERATOR

M1^2; => "Warning, ^ is ambiguous on non square matrices, Use .^ to apply ^ element by element." ?? => 91 // == DOT PRODUCT

M1^3; => "Warning, ^ is ambiguous on non square matrices, Use .^ to apply ^ element by element." ?? =>[[1,8,27],[64,125,216]] // == .^ OPERATOR

M1^4; "Warning, ^ is ambiguous on non square matrices, Use .^ to apply ^ element by element." ?? => 8281// == DOT PRODUCT

M2^2; = [[30,36,42],[66,81,96],[102,126,150]] // OK

SOMETIMES ^ OPERATOR CALCULATED THE DOT PRODUCT, ANOTHER MAKES THE SAME AS THE OPERATOR .^

For this?, is educational? is pedagogical?, if there are specific operators DOTP & .^

*Edited: 11 Dec 2013, 1:07 p.m. after one or more responses were posted*