TensorFlowのいいところは、機械学習用のツールとしてもかなり優秀であるということと、数値計算系の機能がライブラリの中に隠蔽されず外で自由に実装できることにあると思う。 ということで、表題の通りn次元ベクトル間の成す角を計算してみた。 計算式にはベクトルの内積を使った方法で行う。 式で表すと、「cosx = a・b / (|a||b|)」というのでcosxを求めて、最後に角度に変換する。 まずは、2次元のベクトル同士の計算の場合を考える。 入力はあとから自由に設定したいので、変数や定数ではなくplaceholderを使う import tensorflow as tf a = tf.placeholder(tf.types.float32, [1, 2]) b = tf.placeholder(tf.types.float32, [1, 2]) 次に、内積「a・b」を計算する。 2つ