Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/11/24 14:07:03.493 (台灣標準時)

軌道積分をするための Python スクリプト (2023 年 07 月中旬)

REBOUND を使うと Python で軌道積分を行うことができるので、お手軽に小惑星の軌道積分ができるよう に Python のスクリプトを書いてみたでござる。


#!/usr/pkg/bin/python3.10

#
# Time-stamp: <2023/07/20 09:53:19 (CST) daisuke>
#

# importing argparse module
import argparse

# importing ssl module
import ssl

# importing pathlib module
import pathlib

# importing sys module
import sys

# importing datetime module
import datetime

# importing re module
import re

# importing numpy module
import numpy

# importing rebound module
import rebound

# date/time
datetime_now_utc     = datetime.datetime.now (tz=datetime.timezone.utc)
datetime_now_utc_str = f'{datetime_now_utc.year:04d}' \
    + f'-{datetime_now_utc.month:02d}' \
    + f'-{datetime_now_utc.day:02d}' \
    + f'_{datetime_now_utc.hour:02d}' \
    + f':{datetime_now_utc.minute:02d}' \
    + f':{datetime_now_utc.second:02d}'

# setting for SSL
ssl._create_default_https_context = ssl._create_unverified_context

# constants
pi   = numpy.pi
year = 2.0 * pi # 1 yr = 2 pi for G=1

# pattern for regular expression
pattern_space = re.compile ('\s+')
underscore    = '_'

# choices of integrator
choices_integrator = [
    'ias15',
    'whfast',
    'BS',
    'mercurius',
    'saba',
    'janus',
    'eos',
    'sei',
    'tes',
    'none',
    'whfast512'
]

# initialising a parser
desc   = 'backward orbital integration of asteroids'
parser = argparse.ArgumentParser (description=desc)

# adding arguments
parser.add_argument ('-s', '--start',
                     default='2000-01-01 12:00', \
                     help='start date/time (default: 2000-01-01 12:00)')
parser.add_argument ('-i', '--integrator',
                     choices=choices_integrator, \
                     default='mercurius', \
                     help='choice of integrator (default: mercurius)')
parser.add_argument ('-t', '--timestep',
                     type=float, \
                     default=-0.01, \
                     help='step size of integration in yr (default: -0.01)')
parser.add_argument ('-d', '--duration',
                     type=float, \
                     default=10**6, \
                     help='duration of integration in yr (default: 10**6)')
parser.add_argument ('-n', '--noutputs',
                     type=int, \
                     default=10**8, \
                     help='number of outputs (default: 10**8)')
parser.add_argument ('-o', '--output',
                     default='rebount.out', \
                     help='output file name (default: rebound.out)')
parser.add_argument ('-v', '--verbose', action='store_true', \
                     help='verbose mode (default: off)')
parser.add_argument ('asteroids', \
                     nargs='+', \
                     default='Ceres', \
                     help='asteroid names (default: Ceres)')

# parsing arguments
args = parser.parse_args ()

# input parameters
datetime_start = args.start
integrator     = args.integrator
timestep       = args.timestep
duration_yr    = args.duration
n_outputs      = args.noutputs
file_output    = args.output
verbose        = args.verbose
list_asteroids = args.asteroids

# making pathlib object
path_output = pathlib.Path (file_output)

# existence check
if (path_output.exists ()):
    # printing error message
    print (f'ERROR: file "{file_output} exists."')
    # exit
    sys.exit ()

# making a simulation object
sim = rebound.Simulation ()

# adding the Sun and planets to simulation
sim.add ('Sun',     date=datetime_start)
sim.add ('Mercury', date=datetime_start)
sim.add ('Venus',   date=datetime_start)
sim.add ('Earth',   date=datetime_start)
sim.add ('Mars',    date=datetime_start)
sim.add ('Jupiter', date=datetime_start)
sim.add ('Saturn',  date=datetime_start)
sim.add ('Uranus',  date=datetime_start)
sim.add ('Neptune', date=datetime_start)

# adding asteroids to simulation
for asteroid in list_asteroids:
    sim.add (asteroid, date=datetime_start)

# time step of orbital integration
# -0.01 ==> backward integration with time step of 0.01 yr
sim.dt = timestep

# choice of integrator
sim.integrator = integrator

# moving to centre of momentum frame
sim.move_to_com ()

# pointer to particles
ps = sim.particles

# list for data output times
times = numpy.linspace (0.0, duration_yr * year, n_outputs)

# opening file for writing
with open (file_output, 'w') as fh_output:
    # writing header to output file
    fh_output.write (f'#\n')
    fh_output.write (f'# Result of orbital integration by REBOUND\n')
    fh_output.write (f'#\n')
    fh_output.write (f'#  start of simulation: {datetime_now_utc_str}\n')
    fh_output.write (f'#\n')
    fh_output.write (f'#  input parameters\n')
    fh_output.write (f'#   start date/time = {datetime_start}\n')
    fh_output.write (f'#   integrator      = {integrator}\n')
    fh_output.write (f'#   timestep        = {timestep} yr\n')
    fh_output.write (f'#   duration_yr     = {duration_yr} yr\n')
    fh_output.write (f'#   n_outputs       = {n_outputs}\n')
    fh_output.write (f'#   file_output     = {file_output}\n')
    fh_output.write (f'#   verbose         = {verbose}\n')
    fh_output.write (f'#\n')
    fh_output.write (f'#  asteroids for orbital integration\n')
    for asteroid in list_asteroids:
        fh_output.write (f'#   {asteroid}\n')
    fh_output.write (f'#\n')
    fh_output.write (f'# format of output data\n')
    fh_output.write (f'#  time (in yr) from start date/time, object name,' \
                     + f' x, y, z, vx, vy, vz, a, e, i, Omega, omega, M\n')
    fh_output.write (f'#\n')

    # integration
    for i, time in enumerate (times):
        # integration by one timestep
        sim.integrate (time)
        # state vector and orbital elements of each asteroid
        for j in range (len (list_asteroids)):
            # time from start date/time in yr
            if (timestep < 0.0):
                time_from_start_yr = time / year * (-1.0)
            else:
                time_from_start_yr = time / year
            # asteroid name
            name = re.sub (pattern_space, underscore, list_asteroids[j])
            # state vector
            ast_x     = ps[j+9].x
            ast_y     = ps[j+9].y
            ast_z     = ps[j+9].z
            ast_vx    = ps[j+9].vx
            ast_vy    = ps[j+9].vy
            ast_vz    = ps[j+9].vz
            # orbital elements
            ast_a     = ps[j+9].a
            ast_e     = ps[j+9].e
            ast_i     = ps[j+9].inc
            ast_Omega = ps[j+9].Omega
            ast_omega = ps[j+9].omega
            ast_M     = ps[j+9].M
            # asteroid name, time, state vector, and orbital elements
            result = f'{time_from_start_yr:15.6f}' \
                + f' {name:16s}' \
                + f' {ast_x:15.10f} {ast_y:15.10f} {ast_z:15.10f}' \
                + f' {ast_vx:15.10f} {ast_vy:15.10f} {ast_vz:15.10f}' \
                + f' {ast_a:15.10f} {ast_e:15.10f} {ast_i:15.10f}' \
                + f' {ast_Omega:15.10f} {ast_omega:15.10f} {ast_M:15.10f}\n'
            # writing result into file
            fh_output.write (result)
        # printing progress
        if (verbose):
            if (i % 10000 == 0):
                progress_percent = i / len (times) * 100.0
                print (f'progress of integration: {progress_percent:7.3f}%')

    # date/time
    datetime_now_utc     = datetime.datetime.now (tz=datetime.timezone.utc)
    datetime_now_utc_str = f'{datetime_now_utc.year:04d}' \
        + f'-{datetime_now_utc.month:02d}' \
        + f'-{datetime_now_utc.day:02d}' \
        + f'_{datetime_now_utc.hour:02d}' \
        + f':{datetime_now_utc.minute:02d}' \
        + f':{datetime_now_utc.second:02d}'
    fh_output.write (f'#\n')
    fh_output.write (f'#  end of simulation  : {datetime_now_utc_str}\n')
    fh_output.write (f'#\n')

使い方は以下の通りでござる。


% ./backint_asteroids.py -h
usage: backint_asteroids.py [-h] [-s START]
                            [-i {ias15,whfast,BS,mercurius,saba,janus,eos,sei,tes,none,whfast512}]
                            [-t TIMESTEP] [-d DURATION] [-n NOUTPUTS]
                            [-o OUTPUT] [-v]
                            asteroids [asteroids ...]

backward orbital integration of asteroids

positional arguments:
  asteroids             asteroid names (default: Ceres)

options:
  -h, --help            show this help message and exit
  -s START, --start START
                        start date/time (default: 2000-01-01 12:00)
  -i {ias15,whfast,BS,mercurius,saba,janus,eos,sei,tes,none,whfast512}, --integrator {ias15,whfast,BS,mercurius,saba,janus,eos,sei,tes,none,whfast512}
                        choice of integrator (default: mercurius)
  -t TIMESTEP, --timestep TIMESTEP
                        step size of integration in yr (default: -0.01)
  -d DURATION, --duration DURATION
                        duration of integration in yr (default: 10**6)
  -n NOUTPUTS, --noutputs NOUTPUTS
                        number of outputs (default: 10**8)
  -o OUTPUT, --output OUTPUT
                        output file name (default: rebound.out)
  -v, --verbose         verbose mode (default: off)

小惑星 (1) Ceres を 2000 年 01 月 01 日 12:00 (UT) から過去に向かって 1000 年間だけ軌道積分するには、以下のようにすればよいでござる。


% ./backint_asteroids.py -v -d 1000 -n 100000 -o ceres.data Ceres
Searching NASA Horizons for 'Sun'... 
Found: Sun (10) 
Searching NASA Horizons for 'Mercury'... 
Found: Mercury Barycenter (199) (chosen from query 'Mercury')
Searching NASA Horizons for 'Venus'... 
Found: Venus Barycenter (299) (chosen from query 'Venus')
Searching NASA Horizons for 'Earth'... 
Found: Earth-Moon Barycenter (3) (chosen from query 'Earth')
Searching NASA Horizons for 'Mars'... 
Found: Mars Barycenter (4) (chosen from query 'Mars')
Searching NASA Horizons for 'Jupiter'... 
Found: Jupiter Barycenter (5) (chosen from query 'Jupiter')
Searching NASA Horizons for 'Saturn'... 
Found: Saturn Barycenter (6) (chosen from query 'Saturn')
Searching NASA Horizons for 'Uranus'... 
Found: Uranus Barycenter (7) (chosen from query 'Uranus')
Searching NASA Horizons for 'Neptune'... 
Found: Neptune Barycenter (8) (chosen from query 'Neptune')
Searching NASA Horizons for 'Ceres'... 
Found: 1 Ceres (A801 AA) 
/usr/pkg/lib/python3.10/site-packages/rebound/horizons.py:172: RuntimeWarning: Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.
  warnings.warn("Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.", RuntimeWarning)
progress of integration:   0.000%
progress of integration:  10.000%
progress of integration:  20.000%
progress of integration:  30.000%
progress of integration:  40.000%
progress of integration:  50.000%
progress of integration:  60.000%
progress of integration:  70.000%
progress of integration:  80.000%
progress of integration:  90.000%

書き出される ceres.data というファイルの中身は以下のようになっているで ござる。


% ls -lF ceres.data 
-rw-r--r--  1 daisuke  taiwan  22500558 Jul 20 10:02 ceres.data
% head -30 ceres.data
#
# Result of orbital integration by REBOUND
#
#  start of simulation: 2023-07-20_02:01:14
#
#  input parameters
#   start date/time = 2000-01-01 12:00
#   integrator      = mercurius
#   timestep        = -0.01 yr
#   duration_yr     = 1000.0 yr
#   n_outputs       = 100000
#   file_output     = ceres.data
#   verbose         = True
#
#  asteroids for orbital integration
#   Ceres
#
# format of output data
#  time (in yr) from start date/time, object name, x, y, z, vx, vy, vz, a, e, i, Omega, omega, M
#
      -0.000000 Ceres              -2.3864642362    0.7926901101    0.4632117513   -0.2080472740   -0.6158176149    0.0194022417    2.7789456954    0.0805478853    0.1843415718    1.4057721476    1.2775270197    0.1189638665
      -0.010000 Ceres              -2.3992529786    0.7539037527    0.4643757542   -0.1990195966   -0.6187534690    0.0176481546    2.7791166492    0.0805971545    0.1843407539    1.4057416086    1.2783202933    0.1318743264
      -0.020000 Ceres              -2.4114731284    0.7149375861    0.4654294364   -0.1899490437   -0.6215409477    0.0158907432    2.7792844192    0.0806444874    0.1843400288    1.4057111272    1.2791274691    0.1447707623
      -0.030000 Ceres              -2.4231220767    0.6758009541    0.4663726051   -0.1808383160   -0.6241793894    0.0141305255    2.7794489685    0.0806898550    0.1843393957    1.4056807135    1.2799477704    0.1576539347
      -0.040000 Ceres              -2.4341973841    0.6365032404    0.4672051004   -0.1716901249   -0.6266681940    0.0123680198    2.7796102624    0.0807332307    0.1843388542    1.4056503771    1.2807804166    0.1705246080
      -0.050001 Ceres              -2.4446967822    0.5970538642    0.4679267948   -0.1625071908   -0.6290068231    0.0106037440    2.7797682683    0.0807745899    0.1843384035    1.4056201277    1.2816246236    0.1833835506
      -0.060001 Ceres              -2.4546181737    0.5574622767    0.4685375933   -0.1532922421   -0.6311947999    0.0088382157    2.7799229560    0.0808139104    0.1843380431    1.4055899747    1.2824796049    0.1962315338
      -0.070001 Ceres              -2.4639596329    0.5177379572    0.4690374334   -0.1440480125   -0.6332317097    0.0070719514    2.7800742975    0.0808511722    0.1843377721    1.4055599275    1.2833445720    0.2090693309
      -0.080001 Ceres              -2.4727194060    0.4778904089    0.4694262852   -0.1347772401   -0.6351171994    0.0053054665    2.7802222673    0.0808863576    0.1843375900    1.4055299951    1.2842187348    0.2218977170
      -0.090001 Ceres              -2.4808959113    0.4379291554    0.4697041509   -0.1254826657   -0.6368509776    0.0035392753    2.7803668422    0.0809194512    0.1843374957    1.4055001866    1.2851013026    0.2347174678

軌道積分する小惑星は、小惑星の確定番号でも指定することができるでござる。 但し、番号の若い小惑星の場合、番号の後にセミコロンをつけないと JPL Horizons が惑星として取り扱ってしまうでござる。また、シェルに勘違いさ れないように、シングルクォート或いはダブルクォートでくくっておく必要が あるでござる。


% ./backint_asteroids.py -v -d 1000 -n 100000 -o ceres.data '1;'
Searching NASA Horizons for 'Sun'... 
Found: Sun (10) 
Searching NASA Horizons for 'Mercury'... 
Found: Mercury Barycenter (199) (chosen from query 'Mercury')
Searching NASA Horizons for 'Venus'... 
Found: Venus Barycenter (299) (chosen from query 'Venus')
Searching NASA Horizons for 'Earth'... 
Found: Earth-Moon Barycenter (3) (chosen from query 'Earth')
Searching NASA Horizons for 'Mars'... 
Found: Mars Barycenter (4) (chosen from query 'Mars')
Searching NASA Horizons for 'Jupiter'... 
Found: Jupiter Barycenter (5) (chosen from query 'Jupiter')
Searching NASA Horizons for 'Saturn'... 
Found: Saturn Barycenter (6) (chosen from query 'Saturn')
Searching NASA Horizons for 'Uranus'... 
Found: Uranus Barycenter (7) (chosen from query 'Uranus')
Searching NASA Horizons for 'Neptune'... 
Found: Neptune Barycenter (8) (chosen from query 'Neptune')
Searching NASA Horizons for '1;'... 
Found: 1 Ceres (A801 AA) 
/usr/pkg/lib/python3.10/site-packages/rebound/horizons.py:172: RuntimeWarning: Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.
  warnings.warn("Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.", RuntimeWarning)
progress of integration:   0.000%
progress of integration:  10.000%
progress of integration:  20.000%
progress of integration:  30.000%
progress of integration:  40.000%
progress of integration:  50.000%
progress of integration:  60.000%
progress of integration:  70.000%
progress of integration:  80.000%
progress of integration:  90.000%

以下は、 1 とだけ指定した場合に、水星 (Mercury) だと解釈されてしまった 例でござる。


% ./backint_asteroids.py -v -d 1000 -n 100000 -o ceres.data 1
Searching NASA Horizons for 'Sun'... 
Found: Sun (10) 
Searching NASA Horizons for 'Mercury'... 
Found: Mercury Barycenter (199) (chosen from query 'Mercury')
Searching NASA Horizons for 'Venus'... 
Found: Venus Barycenter (299) (chosen from query 'Venus')
Searching NASA Horizons for 'Earth'... 
Found: Earth-Moon Barycenter (3) (chosen from query 'Earth')
Searching NASA Horizons for 'Mars'... 
Found: Mars Barycenter (4) (chosen from query 'Mars')
Searching NASA Horizons for 'Jupiter'... 
Found: Jupiter Barycenter (5) (chosen from query 'Jupiter')
Searching NASA Horizons for 'Saturn'... 
Found: Saturn Barycenter (6) (chosen from query 'Saturn')
Searching NASA Horizons for 'Uranus'... 
Found: Uranus Barycenter (7) (chosen from query 'Uranus')
Searching NASA Horizons for 'Neptune'... 
Found: Neptune Barycenter (8) (chosen from query 'Neptune')
Searching NASA Horizons for '1'... 
Found: Mercury Barycenter (199) 
progress of integration:   0.000%
progress of integration:  10.000%
progress of integration:  20.000%
progress of integration:  30.000%
progress of integration:  40.000%
progress of integration:  50.000%
progress of integration:  60.000%
progress of integration:  70.000%
progress of integration:  80.000%
progress of integration:  90.000%

以下は、 1; と指定した場合に、やはり水星 (Mercury) だと解釈されてしまっ た例でござる。


% ./backint_asteroids.py -v -d 1000 -n 100000 -o ceres.data 1;
Searching NASA Horizons for 'Sun'... 
Found: Sun (10) 
Searching NASA Horizons for 'Mercury'... 
Found: Mercury Barycenter (199) (chosen from query 'Mercury')
Searching NASA Horizons for 'Venus'... 
Found: Venus Barycenter (299) (chosen from query 'Venus')
Searching NASA Horizons for 'Earth'... 
Found: Earth-Moon Barycenter (3) (chosen from query 'Earth')
Searching NASA Horizons for 'Mars'... 
Found: Mars Barycenter (4) (chosen from query 'Mars')
Searching NASA Horizons for 'Jupiter'... 
Found: Jupiter Barycenter (5) (chosen from query 'Jupiter')
Searching NASA Horizons for 'Saturn'... 
Found: Saturn Barycenter (6) (chosen from query 'Saturn')
Searching NASA Horizons for 'Uranus'... 
Found: Uranus Barycenter (7) (chosen from query 'Uranus')
Searching NASA Horizons for 'Neptune'... 
Found: Neptune Barycenter (8) (chosen from query 'Neptune')
Searching NASA Horizons for '1'... 
Found: Mercury Barycenter (199) 
progress of integration:   0.000%
progress of integration:  10.000%
progress of integration:  20.000%
progress of integration:  30.000%
progress of integration:  40.000%
progress of integration:  50.000%
progress of integration:  60.000%
progress of integration:  70.000%
progress of integration:  80.000%
progress of integration:  90.000%

複数の小惑星を指定し、軌道積分を実行した例は以下の通りでござる。


% ./backint_asteroids.py -v -d 1000 -n 100000 -o multiple.data Einstein Euler Hipparchus Curie 'Isaac Newton'
Searching NASA Horizons for 'Sun'... 
Found: Sun (10) 
Searching NASA Horizons for 'Mercury'... 
Found: Mercury Barycenter (199) (chosen from query 'Mercury')
Searching NASA Horizons for 'Venus'... 
Found: Venus Barycenter (299) (chosen from query 'Venus')
Searching NASA Horizons for 'Earth'... 
Found: Earth-Moon Barycenter (3) (chosen from query 'Earth')
Searching NASA Horizons for 'Mars'... 
Found: Mars Barycenter (4) (chosen from query 'Mars')
Searching NASA Horizons for 'Jupiter'... 
Found: Jupiter Barycenter (5) (chosen from query 'Jupiter')
Searching NASA Horizons for 'Saturn'... 
Found: Saturn Barycenter (6) (chosen from query 'Saturn')
Searching NASA Horizons for 'Uranus'... 
Found: Uranus Barycenter (7) (chosen from query 'Uranus')
Searching NASA Horizons for 'Neptune'... 
Found: Neptune Barycenter (8) (chosen from query 'Neptune')
Searching NASA Horizons for 'Einstein'... 
Found: 2001 Einstein (1973 EB) 
/usr/pkg/lib/python3.10/site-packages/rebound/horizons.py:172: RuntimeWarning: Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.
  warnings.warn("Warning: Mass cannot be retrieved from NASA HORIZONS. Set to 0.", RuntimeWarning)
Searching NASA Horizons for 'Euler'... 
Found: 2002 Euler (1973 QQ1) 
Searching NASA Horizons for 'Hipparchus'... 
Found: 4000 Hipparchus (1989 AV) 
Searching NASA Horizons for 'Curie'... 
Found: 7000 Curie (1939 VD) 
Searching NASA Horizons for 'Isaac Newton'... 
Found: 8000 Isaac Newton (1986 RL5) 
progress of integration:   0.000%
progress of integration:  10.000%
progress of integration:  20.000%
progress of integration:  30.000%
progress of integration:  40.000%
progress of integration:  50.000%
progress of integration:  60.000%
progress of integration:  70.000%
progress of integration:  80.000%
progress of integration:  90.000%

出力されたデータは以下の通りでござる。


% head -50 multiple.data
#
# Result of orbital integration by REBOUND
#
#  start of simulation: 2023-07-20_02:16:29
#
#  input parameters
#   start date/time = 2000-01-01 12:00
#   integrator      = mercurius
#   timestep        = -0.01 yr
#   duration_yr     = 1000.0 yr
#   n_outputs       = 100000
#   file_output     = multiple.data
#   verbose         = True
#
#  asteroids for orbital integration
#   Einstein
#   Euler
#   Hipparchus
#   Curie
#   Isaac Newton
#
# format of output data
#  time (in yr) from start date/time, object name, x, y, z, vx, vy, vz, a, e, i, Omega, omega, M
#
      -0.000000 Einstein           -1.5845757520    0.8842923825    0.3383303171   -0.3309353520   -0.6234363949   -0.2668746964    1.9423652033    0.0976168573    0.3960436571   -0.0468347395    3.7698320826    5.3302157144
      -0.000000 Euler               2.4129809188   -0.5542653935    0.0757031944    0.1785643250    0.5927596998   -0.0893219899    2.3996225653    0.0695693306    0.1487003555    3.1213627916    0.8204927397    1.9909406310
      -0.000000 Hipparchus          2.6066298991   -1.1388365225    0.0410338382    0.1966437477    0.5251734594    0.0248792650    2.5749772010    0.1172708514    0.0474139820   -0.7208120625    3.0356952589    3.6594875204
      -0.000000 Curie              -2.6790456061   -1.4171865681    0.2848583035    0.2800660823   -0.4112558669   -0.0776134637    2.4768078694    0.2587712374    0.1722941365    1.0571260482    5.3315162882    3.7458748795
      -0.000000 Isaac_Newton       -2.7814237458    1.7926105195    0.3903084558   -0.2781137547   -0.4393518905   -0.0655711917    3.0681030314    0.0889294327    0.1703055328    0.1833200456    5.2847597154    3.4212522565
      -0.010000 Einstein           -1.6048669241    0.8448432760    0.3214564989   -0.3148942479   -0.6321984606   -0.2702055355    1.9427216273    0.0977850404    0.3960275133   -0.0468128316    3.7688743765    5.3545689226
      -0.010000 Euler               2.4238884982   -0.5169512929    0.0700813849    0.1686287217    0.5949465682   -0.0896199911    2.3995563739    0.0696777167    0.1487012414    3.1213615803    0.8207549021    2.0073816322
      -0.010000 Hipparchus          2.6187622405   -1.1057425010    0.0425935332    0.1895290141    0.5282174313    0.0247661307    2.5748786716    0.1172769170    0.0474159537   -0.7207984883    3.0363059890    3.6739434986
      -0.010000 Curie              -2.6612601291   -1.4429263230    0.2799616759    0.2860548151   -0.4080460583   -0.0782480532    2.4768161707    0.2587911909    0.1722964472    1.0571173674    5.3313926755    3.7622331295
      -0.010000 Isaac_Newton       -2.7987492934    1.7649092363    0.3861676200   -0.2733645390   -0.4423910137   -0.0662332892    3.0681993760    0.0889007241    0.1703046139    0.1833251794    5.2844944795    3.4332439548
      -0.020000 Einstein           -1.6241404735    0.8048544204    0.3043781006   -0.2985450758   -0.6406151372   -0.2733858806    1.9430755367    0.0979580404    0.3960109636   -0.0467917576    3.7680024532    5.3788383893
      -0.020000 Euler               2.4341713499   -0.4795047892    0.0644416017    0.1586792272    0.5969742529   -0.0898941114    2.3994931161    0.0697854526    0.1487021358    3.1213604565    0.8210592250    2.0237802446
      -0.020000 Hipparchus          2.6304460826   -1.0724598652    0.0441459796    0.1823678264    0.5311770605    0.0246485342    2.5747805861    0.1172815134    0.0474179150   -0.7207844171    3.0369189689    3.6883966492
      -0.020000 Curie              -2.6430988895   -1.4684621830    0.2750254445    0.2920267832   -0.4047656888   -0.0788740631    2.4768243734    0.2588118210    0.1722987618    1.0571088684    5.3312700005    3.7785902948
      -0.020000 Isaac_Newton       -2.8157754032    1.7370184159    0.3819853907   -0.2685825071   -0.4453849364   -0.0668887642    3.0682954412    0.0888724456    0.1703036751    0.1833303217    5.2842240375    3.4452406933
      -0.030000 Einstein           -1.6423773006    0.7643478619    0.2871047166   -0.2818961002   -0.6486754757   -0.2764113301    1.9434265674    0.0981354558    0.3959940137   -0.0467715631    3.7672191101    5.4030213618
      -0.030000 Euler               2.4438286775   -0.4419358701    0.0587853433    0.1487182764    0.5988432088   -0.0901444256    2.3994327598    0.0698924669    0.1487030378    3.1213594221    0.8214050736    2.0401370938
      -0.030000 Hipparchus          2.6416785279   -1.0389939365    0.0456908968    0.1751608666    0.5340516494    0.0245264718    2.5746829462    0.1172846295    0.0474198655   -0.7207698518    3.0375340005    3.7028471669
      -0.030000 Curie              -2.6245629544   -1.4937897019    0.2700501515    0.2979815529   -0.4014143537   -0.0794913928    2.4768324710    0.2588331284    0.1723010801    1.0571005509    5.3311483070    3.7949463361
      -0.030000 Isaac_Newton       -2.8325000238    1.7089409079    0.3777621860   -0.2637679913   -0.4483333524   -0.0675375545    3.0683912284    0.0888446040    0.1703027163    0.1833354707    5.2839484661    3.4572423975
      -0.040000 Einstein           -1.6595588411    0.7233463313    0.2696462163   -0.2649561073   -0.6563686336   -0.2792775375    1.9437743464    0.0983168653    0.3959766699   -0.0467522933    3.7665269145    5.4271153162
      -0.040000 Euler               2.4528598370   -0.4042544940    0.0531141028    0.1387482771    0.6005539195   -0.0903710131    2.3993752729    0.0699986901    0.1487039466    3.1213584791    0.8217917982    2.0564528204
      -0.040000 Hipparchus          2.6524567221   -1.0053500803    0.0472280042    0.1679088251    0.5368404969    0.0243999399    2.5745857538    0.1172862548    0.0474218050   -0.7207547955    3.0381508840    3.7172952484
      -0.040000 Curie              -2.6056534183   -1.5189044078    0.2650363456    0.3039186770   -0.3979916366   -0.0800999388    2.4768404567    0.2588551138    0.1723034016    1.0570924147    5.3310276400    3.8113012135
      -0.040000 Isaac_Newton       -2.8489211247    1.6806795813    0.3734984278   -0.2589213259   -0.4512359558   -0.0681795980    3.0684867391    0.0888172057    0.1703017373    0.1833406245    5.2836678431    3.4692489919
      -0.050001 Einstein           -1.6756670996    0.6818732368    0.2520127402   -0.2477344101   -0.6636838982   -0.2819802212    1.9441184921    0.0985018289    0.3959589393   -0.0467339936    3.7659281904    5.4511179692

参考文献



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___NetBSD/20220817_3.html
  10. Computer___Python/20220410_0.html
  11. Computer___Network/20240416_00.html
  12. Computer___Network/20240130_00.html
  13. Computer___Debian/20210223_1.html
  14. Computer___NetBSD/20230119_00.html
  15. Computer___Python/20210124_0.html
  16. Computer___Python/20221013_0.html
  17. Computer___NetBSD/20220818_1.html
  18. Computer___NetBSD/20220428_0.html
  19. Science___Math/20220420_0.html
  20. Computer___NetBSD/20240101_02.html
  21. Computer___NetBSD/20220808_0.html
  22. Computer___TeX/20230503_00.html
  23. Computer___NetBSD/20230515_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20210127_0.html
  26. Computer___Python/20240101_00.html
  27. Computer___Network/20220413_1.html
  28. Computer___Python/20220816_1.html
  29. Computer___NetBSD/20210204_0.html
  30. Travel___Taiwan/20220809_2.html


HTML file generated by Kinoshita Daisuke.