I want to add/subtract two vectors, X and Y in Calc.
If I calc
constant numerics within Org-mode source block, it's o.k.
#+BEGIN_SRC calc :session *Calculator*
[1,1] + [2,2] + [3,3]
#+END_SRC
#+RESULTS:
: [6, 6]
#+BEGIN_SRC calc :session *Calculator*
[3,3] - [2,2] - [1,1]
#+END_SRC
#+RESULTS:
: [0, 0]
#+BEGIN_SRC calc :session *Calculator*
[1,10,100] * [10,100,1000]
#+END_SRC
#+RESULTS:
: 101010
Applying Calc within Emacs Lisp source code block in Org-mode is o.k.
#+BEGIN_SRC emacs-lisp :results value scalar :exports both
(setq X '[1 2])
(setq Y '[3 4])
(calc-eval (format "%s+%s" X Y))
#+END_SRC
#+RESULTS:
: "[4, 6]"
On the other hands, If I try in Calc source block with variables , it fails.
#+BEGIN_SRC calc :var X=[1 2], Y=[3 4]
X+Y
#+END_SRC
# (wrong-type-argument number-or-marker-p [1 2])
Add can be done strangely with further extra brackets,
#+BEGIN_SRC calc :var X=[1 2], Y=[3 4]
[X]+[Y]
#+END_SRC
#+RESULTS:
: [[4, 6]]
but fails in subtraction.
#+BEGIN_SRC calc :var X=[1 2], Y=[3 4]
[X]-[Y]
#+END_SRC
# (wrong-type-argument number-or-marker-p [3 4])
How can I add/subtract vectors by Calc in Org-mode source code block ?