数学のブログ

距離空間の世界 R^nにおける曲線 放物線の長さ、パラメーター表示に変換

解析入門(中) (松坂和夫 数学入門シリーズ 5) (松坂 和夫 (著)、岩波書店)の第12章(距離空間の世界)、12.4(R^nにおける曲線)、問題4の解答を求めてみる。

( d dt t ) 2 + ( d dt t 2 2 ) 2 dt
= 1 + t 2 dt
= 1 + t 2 1 + t 2 dt
= 1 2 ( log ( t + t 2 + 1 ) + t t 2 + 1 )

よって、 求める曲線の長さは

1 2 [ log ( t + t 2 + 1 ) + t t 2 + 1 ] 0 2 = 1 2 log ( 2 + 5 ) + 5

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Integral, Matrix, Integral, Derivative, log, sqrt
from sympy.abc import t

print('4.')

X = Matrix([t, t ** 2 / 2])


class Test(TestCase):
    def test(self):
        self.assertEqual(
            float(
                Integral(Derivative(X, t, 1).doit().norm(), (t, 0, 2)).doit()
            ),
            float(log(2 + sqrt(5)) / 2 + sqrt(5))
        )


if __name__ == "__main__":
    main()

入出力結果

% ./sample4.py -v
4.
test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.243s

OK
%