UNPKG

algebrite

Version:

Computer Algebra System in Coffeescript

182 lines (125 loc) 3.22 kB
test_transpose = -> run_test [ "transpose(0)", "0", "transpose([[1,2,3,4]])", "[[1],[2],[3],[4]]", "transpose([[1],[2],[3],[4]])", "[[1,2,3,4]]", "transpose(0.0)", "0.0", "transpose([[a,b],[c,d]])", "[[a,c],[b,d]]", "transpose([[a,b],[c,d]],1,2)", "[[a,c],[b,d]]", "transpose([[a,b,c],[d,e,f]],1,2)", "[[a,d],[b,e],[c,f]]", "transpose([[a,d],[b,e],[c,f]],1,2)", "[[a,b,c],[d,e,f]]", # not how one-dimensional vectors # don't have a transposition. "transpose([a,b,c])", "[a,b,c]", "transpose(a)", "transpose(a)", "transpose(a,1,2)", "transpose(a)", "transpose(a,2,1)", "transpose(a)", "transpose(1+10)", "11", "transpose(1+10,2,3)", "11", "transpose(a*b)", "transpose(a)*transpose(b)", "transpose(a*b,3,4)", "transpose(a,3,4)*transpose(b,3,4)", "transpose(b*2*a)", "2*transpose(a)*transpose(b)", "transpose(b*2*a,3,4)", "2*transpose(a,3,4)*transpose(b,3,4)", "transpose(b+a)", "transpose(a)+transpose(b)", "transpose(b+a,3,4)", "transpose(a,3,4)+transpose(b,3,4)", "transpose(inner(a,b))", "inner(transpose(b),transpose(a))", "transpose(inner(a,b),3,4)", "inner(transpose(b,3,4),transpose(a,3,4))", "transpose(transpose(a))", "a", "transpose(transpose(transpose(a)))", "transpose(a)", "transpose(transpose(transpose(transpose(a))))", "a", "transpose(transpose(a),3,4)", "transpose(transpose(a),3,4)", "transpose(transpose(transpose(a),3,4))", "transpose(transpose(transpose(a),3,4))", "transpose(transpose(transpose(a),3,4))", "transpose(transpose(transpose(a),3,4))", "transpose(transpose(transpose(a),1,2))", "transpose(a)", "transpose(transpose(transpose(a),2,1))", "transpose(a)", "transpose(transpose(a,3,4),4,3)", "a", "transpose(transpose(a,3,4),5,6)", "transpose(transpose(a,3,4),5,6)", "transpose(a) - transpose(a)", "0", "transpose(a,1,2) - transpose(a,1,2)", "0", "transpose(a,3,4) - transpose(a,3,4)", "0", "aᵀ^b", "transpose(a)^b", "a^ᵀb", "a^ᵀ ? b\nStop: syntax error", "aᵀ^2^3", "transpose(a)^8", "aᵀ", "transpose(a)", "aᵀᵀ", "a", "aᵀᵀᵀ", "transpose(a)", "aᵀᵀᵀᵀ", "a", "aᵀ+b", "b+transpose(a)", "aᵀ*b", "b*transpose(a)", # this output could be written out more # cleanly without extra parens "aᵀ^bᵀ", "transpose(a)^(transpose(b))", "aᵀ*bᵀ", "transpose(a)*transpose(b)", "a^bᵀ", "a^(transpose(b))", "(a^b)ᵀ", "transpose(a^b)", "(a*b)ᵀ", "transpose(a)*transpose(b)", "inner(a,b)ᵀ", "inner(transpose(b),transpose(a))", "dot(a,b)ᵀ", "inner(transpose(b),transpose(a))", "(a·b·c)ᵀ", "inner(transpose(c),inner(transpose(b),transpose(a)))", "Iᵀᵀᵀ", "I", # Note that we are using the # standard commutative multiplication here, # not the dot product. # So, one of the two arguments should # be a scalar, but we don't know # which one, so we have to transpose # both. Note that we # don't invert the order because # we know it's a normal # multiplication. "transpose(A)*transpose(x)", "transpose(A)*transpose(x)", ]