Add mathjax for dgeqrf
[maxima.git] / doc / info / ja / ezunits.texi
blob0fa4f2fdf84112c148c2b6c2e4a6db03e990d056
1 @menu
2 * Introduction to ezunits::
3 * Introduction to physical_constants::
4 * Functions and Variables for ezunits::
5 @end menu
7 @node Introduction to ezunits, Introduction to physical_constants, ezunits, ezunits
8 @section Introduction to ezunits
10 @code{ezunits}は次元量を扱うためのパッケージです。
11 次元解析のいくつかの関数を含みます。
12 @code{ezunits}は
13 次元量と単位変換に関する算術演算を
14 実行できます。
15 組み込み単位は国際単位系(SI)とUS慣習単位系を含み、他の単位が宣言できます。
16 @code{physical_constants}、物理定数のコレクション、も参照してください。
18 @code{load("ezunits")}はこのパッケージをロードします。
19 @code{demo(ezunits)}はいくつかの例を表示します。
20 便利な関数@code{known_units}は組み込みとユーザー宣言単位のリストを返し、
21 そして、
22 @code{display_known_unit_conversions}は
23 可読性の高いフォーマットで既知の変換一式を表示します。
25 式@math{a ` b}は、無次元量を示す@code{a}と次元単位@code{b}で
26 次元量を表します。
27 そのように宣言することなしに、シンボルを単位として使うことができます;
28 単位シンボルはいかなる特別なプロパティを持つ必要はありません。
29 式@math{a ` b}の量と単位は、
30 それぞれ、@code{qty}関数と@code{units}関数で抽出することができます。
32 シンボルは、指定された量か指定された単位か両方を持つ次元量であると宣言することができます。
34 式@math{a ` b `@w{}` c}は
35 単位@code{b}から単位@code{c}に変換します。
36 @code{ezunits}は
37 SI基本単位、SI組立単位、いくつかの非SI単位に関する組み込み変換を持っています。
38 まだ@code{ezunits}が知らない単位変換は、宣言することができます。
39 @code{ezunits}が知っている単位変換は
40 組み込み変換とユーザー定義の変換から構成される
41 グローバル変数@code{known_unit_conversions}で指定されます。
42 単位の積や商、冪に関する変換は知られている単位変換の組から演繹されます。
44 Maximaは一般的に厳密でない数(浮動小数点数か多倍長浮動小数点数)より
45 厳密な数(整数か有理数)を好むので、
46 次元量でそれらが現れた時、@code{ezunits}は厳密な数を保護します。
47 組み込み単位変換すべては厳密な数で表現されます;
48 宣言された変換で厳密でない数は厳密なものに強制的に変換されます。
50 単位の表示のために優先される系はありません;
51 入力単位は、変換を明示的に示さない限り、他の単位には変換されません。
52 @code{ezunits}は
53 前置詞m-, k-, M, G-(ミリ-, キロ-, メガ-, ギガ-)を
54 SI基本単位やSI組立単位に適用された際、
55 認識しますが、
56 そんな前置詞は明示的な変換で示された時だけ適用されます。
58 次元量に対する算術演算子は
59 そんな演算子の慣例的な規則で実行されます。
61 @itemize
62 @item @math{(x ` a) * (y ` b)} is equal to @math{(x * y) ` (a * b)}.
63 @item @math{(x ` a) + (y ` a)} is equal to @math{(x + y) ` a}.
64 @item @math{(x ` a)^y} is equal to @math{x^y ` a^y} when @code{y} is nondimensional.
65 @end itemize
67 @code{ezunits}は
68 和の中の単位が同じ次元を持つことを要求しません;
69 そんな項は足さられず、エラーは報告されません。
71 @code{ezunits}は初等的な次元解析関数を含みます。
72 すなわち、次元量の基本的な次元と基本的な単位、無次元量と自然単位系の計算です。
73 次元解析の関数は
74 Barton Willisが書いた別のパッケージの類似の関数から焼き直されました。
76 次元解析のために、
77 基本的な次元のリストと基本的な単位の連想リストは保持されます;
78 デフォルトでは、
79 基本的な次元は、長さ、質量、時刻、電荷、温度、量であり、
80 基本的な単位は関連したSI単位で、
81 他の基本的な次元や単位を宣言できます。
83 @opencatbox
84 @category{Physical units}
85 @category{Share packages}
86 @category{Package ezunits}
87 @closecatbox
89 @node Introduction to physical_constants, Functions and Variables for ezunits, Introduction to ezunits, ezunits
90 @section Introduction to physical_constants
92 @code{physical_constants}は物理定数のコレクションです。
93 CODATA 2006 推奨値からコピーしました。[1]
94 @code{load("physical_constants")}はこのパッケージをロードし、
95 まだロードされていないなら、@code{ezunits}もロードします。
97 物理定数は定数値のプロパティを持つシンボルとして表されます。
98 定数値は、@code{ezunits}が表すように次元量です。
99 関数@code{constvalue}は定数値を取りに行きます;
100 定数値はシンボルの普通の値ではなく、
101 @code{constvalue}が値を取りに行くまで、
102 物理定数のシンボルは評価される式の中でシンボルのままです。
104 @code{physical_constants}はある補助情報、
105 すなわち、それぞれの定数の記述文字列、
106 数値の誤差の見積もり、TeX表示のためのプロパティを含みます。
107 物理定数を識別するために、それぞれのシンボルは
108 @code{physical_constant}性質を持ちます;
109 それ故に、@code{propvars(physical_constant)}はそんなシンボルすべてのリストを
110 表示します。
112 @code{physical_constants}以下の定数を含みます。
114 @table @code
115 @item %c
116 真空中の光速度
117 @item %mu_0
118 真空の透磁率
119 @item %e_0
120 真空の誘電率
121 @item %Z_0
122 真空の特性インピーダンス
123 @item %G
124 Newtonの重力定数
125 @item %h
126 Planck定数
127 @item %h_bar
128 Planck定数
129 @item %m_P
130 Planck質量
131 @item %T_P
132 Planck温度
133 @item %l_P
134 Planck長
135 @item %t_P
136 Planck時間
137 @item %%e
138 電気素量
139 @item %Phi_0
140 磁束量子
141 @item %G_0
142 コンダクタンス量子
143 @item %K_J
144 Josephson定数
145 @item %R_K
146 von Klitzing定数
147 @item %mu_B
148 Bohr磁子
149 @item %mu_N
150 核磁子
151 @item %alpha
152 微細構造定数
153 @item %R_inf
154 Rydberg定数
155 @item %a_0
156 Bohr半径
157 @item %E_h
158 Hartreeエネルギー
159 @item %ratio_h_me
160 循環量子
161 @item %m_e
162 電子質量
163 @item %N_A
164 Avogadro数
165 @item %m_u
166 原子質量定数
167 @item %F
168 Faraday定数
169 @item %R
170 気体定数
171 @item %%k
172 Boltzmann定数
173 @item %V_m
174 理想気体のモル体積
175 @item %n_0
176 Loschmidt定数
177 @item %ratio_S0_R
178 Sackur-Tetrode定数 (絶対エントロピー定数)
179 @item %sigma
180 Stefan-Boltzmann定数
181 @item %c_1
182 第一放射定数
183 @item %c_1L
184 スペクトル放射強度の第一放射定数
185 @item %c_2
186 第二放射定数
187 @item %b
188 Wien変位則定数
189 @item %b_prime
190 Wien変位則定数
191 @end table
193 参考文献:
195 [1] @url{http://physics.nist.gov/constants}
197 例:
199 @code{physical_constant} プロパティを持つすべてのシンボルのリスト。
201 @c ===beg===
202 @c load ("physical_constants")$
203 @c propvars (physical_constant);
204 @c ===end===
205 @example
206 (%i1) load ("physical_constants")$
207 (%i2) propvars (physical_constant);
208 (%o2) [%c, %mu_0, %e_0, %Z_0, %G, %h, %h_bar, %m_P, %T_P, %l_P, 
209 %t_P, %%e, %Phi_0, %G_0, %K_J, %R_K, %mu_B, %mu_N, %alpha, 
210 %R_inf, %a_0, %E_h, %ratio_h_me, %m_e, %N_A, %m_u, %F, %R, %%k, 
211 %V_m, %n_0, %ratio_S0_R, %sigma, %c_1, %c_1L, %c_2, %b, %b_prime]
212 @end example
214 物理定数@code{%c}のプロパティ。
216 @c ===beg===
217 @c load ("physical_constants")$
218 @c constantp (%c);
219 @c get (%c, description);
220 @c constvalue (%c);
221 @c get (%c, RSU);
222 @c tex (%c);
223 @c ===end===
224 @example
225 (%i1) load ("physical_constants")$
226 (%i2) constantp (%c);
227 (%o2)                         true
228 (%i3) get (%c, description);
229 (%o3)               speed of light in vacuum
230 (%i4) constvalue (%c);
231                                       m
232 (%o4)                     299792458 ` -
233                                       s
234 (%i5) get (%c, RSU);
235 (%o5)                           0
236 (%i6) tex (%c);
237 $$c$$
238 (%o6)                         false
239 @end example
241 1ポンドの質量に等価なエネルギー。
242 シンボル @code{%c}は、
243 @code{constvalue}が値を取りにいくまでシンボルのままです。
245 @c ===beg===
246 @c load ("physical_constants")$
247 @c m * %c^2;
248 @c %, m = 1 ` lbm;
249 @c constvalue (%);
250 @c E : % `` J;
251 @c E `` GJ;
252 @c float (%);
253 @c ===end===
254 @example
255 (%i1) load ("physical_constants")$
256 (%i2) m * %c^2;
257                                 2
258 (%o2)                         %c  m
259 (%i3) %, m = 1 ` lbm;
260                               2
261 (%o3)                       %c  ` lbm
262 (%i4) constvalue (%);
263                                             2
264                                        lbm m
265 (%o4)              89875517873681764 ` ------
266                                           2
267                                          s
268 (%i5) E : % `` J;
269 Computing conversions to base units; may take a moment. 
270                      366838848464007200
271 (%o5)                ------------------ ` J
272                              9
273 (%i6) E `` GJ;
274                       458548560580009
275 (%o6)                 --------------- ` GJ
276                          11250000
277 (%i7) float (%);
278 (%o7)              4.0759872051556356e+7 ` GJ
279 @end example
281 @opencatbox
282 @category{Physical units}
283 @category{Share packages}
284 @category{Package physical_constants}
285 @closecatbox
287 @node Functions and Variables for ezunits, , Introduction to physical_constants, ezunits
288 @section Functions and Variables for ezunits
290 @deffn {演算子} `
292 次元量演算子。
293 式 @math{a ` b}は次元量を表します。
294 @code{a}は無次元量を表し、@code{b}は次元単位を表します。
295 シンボルは、宣言せずに単位として使うことができます;
296 単位シンボルは特別なプロパティを持つ必要はありません。
297 式 @math{a ` b}の量と単位はそれぞれ、
298 @code{qty}と @code{units}関数で抽出することができます。
300 次元量の算術演算子は演算子の慣例規則に従って実行されます。
302 @itemize
303 @item @math{(x ` a) * (y ` b)}は @math{(x * y) ` (a * b)}に等しい。
304 @item @math{(x ` a) + (y ` a)}は @math{(x + y) ` a}に等しい。
305 @item @math{(x ` a)^y}は @code{y}が無次元の時 @math{x^y ` a^y}に等しい。
306 @end itemize
308 @code{ezunits}は和の中の単位が同じ次元であることを要求しません;
309 そんな項は一緒には足されませんし、エラーは報告されません。
311 @code{load("ezunits")}はこの演算子をイネーブルにします。
313 例:
315 SI (国際単位系) 単位。
317 @c ===beg===
318 @c load ("ezunits")$
319 @c foo : 10 ` m;
320 @c qty (foo);
321 @c units (foo);
322 @c dimensions (foo);
323 @c ===end===
324 @example
325 (%i1) load ("ezunits")$
326 (%i2) foo : 10 ` m;
327 (%o2)                        10 ` m
328 (%i3) qty (foo);
329 (%o3)                          10
330 (%i4) units (foo);
331 (%o4)                           m
332 (%i5) dimensions (foo);
333 (%o5)                        length
334 @end example
336 "慣習"単位。
338 @c ===beg===
339 @c load ("ezunits")$
340 @c bar : x ` acre;
341 @c dimensions (bar);
342 @c fundamental_units (bar);
343 @c ===end===
344 @example
345 (%i1) load ("ezunits")$
346 (%i2) bar : x ` acre;
347 (%o2)                       x ` acre
348 (%i3) dimensions (bar);
349                                    2
350 (%o3)                        length
351 (%i4) fundamental_units (bar);
352                                 2
353 (%o4)                          m
354 @end example
356 アドホック単位。
358 @c ===beg===
359 @c load ("ezunits")$
360 @c baz : 3 ` sheep + 8 ` goat + 1 ` horse;
361 @c subst ([sheep = 3*goat, horse = 10*goat], baz);
362 @c baz2 : 1000`gallon/fortnight;
363 @c subst (fortnight = 14*day, baz2);
364 @c ===end===
365 @example
366 (%i1) load ("ezunits")$
367 (%i2) baz : 3 ` sheep + 8 ` goat + 1 ` horse;
368 (%o2)           8 ` goat + 3 ` sheep + 1 ` horse
369 (%i3) subst ([sheep = 3*goat, horse = 10*goat], baz);
370 (%o3)                       27 ` goat
371 (%i4) baz2 : 1000`gallon/fortnight;
372                                 gallon
373 (%o4)                   1000 ` ---------
374                                fortnight
375 (%i5) subst (fortnight = 14*day, baz2);
376                           500   gallon
377 (%o5)                     --- ` ------
378                            7     day
379 @end example
381 次元量の算術演算子
383 @c ===beg===
384 @c load ("ezunits")$
385 @c 100 ` kg + 200 ` kg;
386 @c 100 ` m^3 - 100 ` m^3;
387 @c (10 ` kg) * (17 ` m/s^2);
388 @c (x ` m) / (y ` s);
389 @c (a ` m)^2;
390 @c ===end===
391 @example
392 (%i1) load ("ezunits")$
393 (%i2) 100 ` kg + 200 ` kg;
394 (%o2)                       300 ` kg
395 (%i3) 100 ` m^3 - 100 ` m^3;
396                                   3
397 (%o3)                        0 ` m
398 (%i4) (10 ` kg) * (17 ` m/s^2);
399                                  kg m
400 (%o4)                      170 ` ----
401                                    2
402                                   s
403 (%i5) (x ` m) / (y ` s);
404                               x   m
405 (%o5)                         - ` -
406                               y   s
407 (%i6) (a ` m)^2;
408                               2    2
409 (%o6)                        a  ` m
410 @end example
412 @opencatbox
413 @category{Package ezunits}
414 @closecatbox
416 @end deffn
418 @deffn {演算子} `@w{}`
420 単位変換演算子。
421 式 @math{a ` b `@w{}` c}は単位 @code{b}を単位 @code{c}に変換します。
422 @code{ezunits}にはSI基本単位、SI組立単位、いくつかの非SI単位のための
423 組み込み変換があります。
424 @code{ezunits}がまだ知らない単位変換は宣言することができます。
425 @code{ezunits}が知っている単位変換はグローバル変数 @code{known_unit_conversions}に
426 明記されます。それは、組み込みとユーザー定義の変換を含みます。
427 単位の積、商、べきの変換は既知の単位変換一式から演繹されます。
429 単位の表示のためにより好まれる系はありません;
430 変換が明示的に示されない限り、
431 入力単位は他の単位に変換されません。
432 @code{ezunits}は、
433 変換が明示的に示されない限り、
434 前置詞(milli-, centi-, deci-, etc)で単位を整理しようとしません。
436 @code{load("ezunits")}はこの演算子を有効にします。
438 例:
440 既知の単位変換一式。
442 @c ===beg===
443 @c load ("ezunits")$
444 @c display2d : false$
445 @c known_unit_conversions;
446 @c ===end===
447 @example
448 (%i1) load ("ezunits")$
449 (%i2) display2d : false$
450 (%i3) known_unit_conversions;
451 (%o3) @{acre = 4840*yard^2,Btu = 1055*J,cfm = feet^3/minute,
452        cm = m/100,day = 86400*s,feet = 381*m/1250,ft = feet,
453        g = kg/1000,gallon = 757*l/200,GHz = 1000000000*Hz,
454        GOhm = 1000000000*Ohm,GPa = 1000000000*Pa,
455        GWb = 1000000000*Wb,Gg = 1000000*kg,Gm = 1000000000*m,
456        Gmol = 1000000*mol,Gs = 1000000000*s,ha = hectare,
457        hectare = 100*m^2,hour = 3600*s,Hz = 1/s,inch = feet/12,
458        km = 1000*m,kmol = 1000*mol,ks = 1000*s,l = liter,
459        lbf = pound_force,lbm = pound_mass,liter = m^3/1000,
460        metric_ton = Mg,mg = kg/1000000,MHz = 1000000*Hz,
461        microgram = kg/1000000000,micrometer = m/1000000,
462        micron = micrometer,microsecond = s/1000000,
463        mile = 5280*feet,minute = 60*s,mm = m/1000,
464        mmol = mol/1000,month = 2629800*s,MOhm = 1000000*Ohm,
465        MPa = 1000000*Pa,ms = s/1000,MWb = 1000000*Wb,
466        Mg = 1000*kg,Mm = 1000000*m,Mmol = 1000000000*mol,
467        Ms = 1000000*s,ns = s/1000000000,ounce = pound_mass/16,
468        oz = ounce,Ohm = s*J/C^2,
469        pound_force = 32*ft*pound_mass/s^2,
470        pound_mass = 200*kg/441,psi = pound_force/inch^2,
471        Pa = N/m^2,week = 604800*s,Wb = J/A,yard = 3*feet,
472        year = 31557600*s,C = s*A,F = C^2/J,GA = 1000000000*A,
473        GC = 1000000000*C,GF = 1000000000*F,GH = 1000000000*H,
474        GJ = 1000000000*J,GK = 1000000000*K,GN = 1000000000*N,
475        GS = 1000000000*S,GT = 1000000000*T,GV = 1000000000*V,
476        GW = 1000000000*W,H = J/A^2,J = m*N,kA = 1000*A,
477        kC = 1000*C,kF = 1000*F,kH = 1000*H,kHz = 1000*Hz,
478        kJ = 1000*J,kK = 1000*K,kN = 1000*N,kOhm = 1000*Ohm,
479        kPa = 1000*Pa,kS = 1000*S,kT = 1000*T,kV = 1000*V,
480        kW = 1000*W,kWb = 1000*Wb,mA = A/1000,mC = C/1000,
481        mF = F/1000,mH = H/1000,mHz = Hz/1000,mJ = J/1000,
482        mK = K/1000,mN = N/1000,mOhm = Ohm/1000,mPa = Pa/1000,
483        mS = S/1000,mT = T/1000,mV = V/1000,mW = W/1000,
484        mWb = Wb/1000,MA = 1000000*A,MC = 1000000*C,
485        MF = 1000000*F,MH = 1000000*H,MJ = 1000000*J,
486        MK = 1000000*K,MN = 1000000*N,MS = 1000000*S,
487        MT = 1000000*T,MV = 1000000*V,MW = 1000000*W,
488        N = kg*m/s^2,R = 5*K/9,S = 1/Ohm,T = J/(m^2*A),V = J/C,
489        W = J/s@}
490 @end example
492 基本単位変換。
494 @c ===beg===
495 @c load ("ezunits")$
496 @c 1 ` ft `` m;
497 @c %, numer; 
498 @c 1 ` kg `` lbm; 
499 @c %, numer;
500 @c 1 ` W `` Btu/hour;
501 @c %, numer;
502 @c 100 ` degC `` degF;
503 @c -40 ` degF `` degC;
504 @c 1 ` acre*ft `` m^3;
505 @c %, numer;
506 @c ===end===
507 @example
508 (%i1) load ("ezunits")$
509 (%i2) 1 ` ft `` m;
510 Computing conversions to base units; may take a moment. 
511                             381
512 (%o2)                       ---- ` m
513                             1250
514 (%i3) %, numer;
515 (%o3)                      0.3048 ` m
516 (%i4) 1 ` kg `` lbm;
517                             441
518 (%o4)                       --- ` lbm
519                             200
520 (%i5) %, numer;
521 (%o5)                      2.205 ` lbm
522 (%i6) 1 ` W `` Btu/hour;
523                            720   Btu
524 (%o6)                      --- ` ----
525                            211   hour
526 (%i7) %, numer;
527                                         Btu
528 (%o7)               3.412322274881517 ` ----
529                                         hour
530 (%i8) 100 ` degC `` degF;
531 (%o8)                      212 ` degF
532 (%i9) -40 ` degF `` degC;
533 (%o9)                     (- 40) ` degC
534 (%i10) 1 ` acre*ft `` m^3;
535                         60228605349    3
536 (%o10)                  ----------- ` m
537                          48828125
538 (%i11) %, numer;
539                                           3
540 (%o11)                1233.48183754752 ` m
541 @end example
543 フィートとメートルを相互に強制変換。
545 @c ===beg===
546 @c load ("ezunits")$
547 @c 100 ` m + 100 ` ft;
548 @c (100 ` m + 100 ` ft) `` ft;
549 @c %, numer;
550 @c (100 ` m + 100 ` ft) `` m;
551 @c %, numer;
552 @c ===end===
553 @example
554 (%i1) load ("ezunits")$
555 (%i2) 100 ` m + 100 ` ft;
556 (%o2)                  100 ` m + 100 ` ft
557 (%i3) (100 ` m + 100 ` ft) `` ft;
558 Computing conversions to base units; may take a moment. 
559                            163100
560 (%o3)                      ------ ` ft
561                             381
562 (%i4) %, numer;
563 (%o4)                428.0839895013123 ` ft
564 (%i5) (100 ` m + 100 ` ft) `` m;
565                             3262
566 (%o5)                       ---- ` m
567                              25
568 (%i6) %, numer;
569 (%o6)                      130.48 ` m
570 @end example
572 基本次元と基本単位を見つけるための次元解析
574 @c ===beg===
575 @c load ("ezunits")$
576 @c foo : 1 ` acre * ft;
577 @c dimensions (foo);
578 @c fundamental_units (foo);
579 @c foo `` m^3;
580 @c %, numer;
581 @c ===end===
582 @example
583 (%i1) load ("ezunits")$
584 (%i2) foo : 1 ` acre * ft;
585 (%o2)                      1 ` acre ft
586 (%i3) dimensions (foo);
587                                    3
588 (%o3)                        length
589 (%i4) fundamental_units (foo);
590                                 3
591 (%o4)                          m
592 (%i5) foo `` m^3;
593 Computing conversions to base units; may take a moment. 
594                         60228605349    3
595 (%o5)                   ----------- ` m
596                          48828125
597 (%i6) %, numer;
598                                           3
599 (%o6)                 1233.48183754752 ` m
600 @end example
602 宣言された単位変換。
604 @c ===beg===
605 @c load ("ezunits")$
606 @c declare_unit_conversion (MMBtu = 10^6*Btu, kW = 1000*W);
607 @c declare_unit_conversion (kWh = kW*hour, MWh = 1000*kWh, 
608 @c                          bell = 1800*s);
609 @c 1 ` kW*s `` MWh;
610 @c 1 ` kW/m^2 `` MMBtu/bell/ft^2;
611 @c ===end===
612 @example
613 (%i1) load ("ezunits")$
614 (%i2) declare_unit_conversion (MMBtu = 10^6*Btu, kW = 1000*W);
615 (%o2)                         done
616 (%i3) declare_unit_conversion (kWh = kW*hour, MWh = 1000*kWh,
617                                bell = 1800*s);
618 (%o3)                         done
619 (%i4) 1 ` kW*s `` MWh;
620 Computing conversions to base units; may take a moment. 
621                              1
622 (%o4)                     ------- ` MWh
623                           3600000
624 (%i5) 1 ` kW/m^2 `` MMBtu/bell/ft^2;
625                        1306449      MMBtu
626 (%o5)                 ---------- ` --------
627                       8242187500          2
628                                    bell ft
629 @end example
631 @opencatbox
632 @category{Package ezunits}
633 @closecatbox
635 @end deffn
637 @deffn {関数} constvalue (@var{x})
638 @deffnx {関数} declare_constvalue (@var{a}, @var{x})
639 @deffnx {関数} remove_constvalue (@var{a})
641 @c REWORK THIS STATEMENT !!
642 シンボルの宣言された定数や、
643 シンボルに宣言された定数を代入した式の値をを返します。
645 定数は@code{declare_constvalue}で宣言されます。
646 @code{constvalue}が認識する定数は
647 @code{numerval}で宣言された値や@code{constantp}が認識する値と区別されることに
648 注意してください。
650 @code{physical_units}パッケージはたくさんの物理定数の定数値を宣言します。
652 @code{remove_constvalue}は
653 @code{declare_constvalue}の効果を戻します。
655 @code{load("ezunits")}はこれらの関数をロードします。
657 例:
659 物理定数の定数値。
661 @c ===beg===
662 @c load ("physical_constants")$
663 @c constvalue (%G);
664 @c get ('%G, 'description);
665 @c ===end===
666 @example
667 (%i1) load ("physical_constants")$
668 (%i2) constvalue (%G);
669                                      3
670                                     m
671 (%o2)                    6.67428 ` -----
672                                        2
673                                    kg s
674 (%i3) get ('%G, 'description);
675 (%o3)           Newtonian constant of gravitation
676 @end example
678 新しい定数の宣言。
680 @c ===beg===
681 @c load ("ezunits")$
682 @c declare_constvalue (FOO, 100 ` lbm / acre);
683 @c FOO * (50 ` acre);
684 @c constvalue (%);
685 @c ===end===
686 @example
687 (%i1) load ("ezunits")$
688 (%i2) declare_constvalue (FOO, 100 ` lbm / acre);
689                                  lbm
690 (%o2)                      100 ` ----
691                                  acre
692 (%i3) FOO * (50 ` acre);
693 (%o3)                     50 FOO ` acre
694 (%i4) constvalue (%);
695 (%o4)                      5000 ` lbm
696 @end example
698 @opencatbox
699 @category{Package ezunits}
700 @closecatbox
702 @end deffn
704 @deffn {関数} units (@var{x})
705 @deffnx {関数} declare_units (@var{a}, @var{u})
707 次元量@var{x}の単位を返します。
708 もし@var{x}が無次元なら、1を返します。
710 @var{x}は、文字通り次元式 @math{a ` b}かもしれませんし、
711 @code{declare_units}を介して宣言された単位を持つシンボルかもしれませんし、
712 それらの一方または両方を含む式かもしれません。
714 @code{declare_units}は、
715 @code{units(@var{a})}は式@var{u}を返さなければいけないことを宣言します。
717 @code{load("ezunits")}はこれらの関数をロードします。
719 例:
721 文字通り次元式へ適用された@code{units}。
723 @c ===beg===
724 @c load ("ezunits")$
725 @c foo : 100 ` kg;
726 @c bar : x ` m/s;
727 @c units (foo);
728 @c units (bar);
729 @c units (foo * bar);
730 @c units (foo / bar);
731 @c units (foo^2);
732 @c ===end===
733 @example
734 (%i1) load ("ezunits")$
735 (%i2) foo : 100 ` kg;
736 (%o2)                       100 ` kg
737 (%i3) bar : x ` m/s;
738                                   m
739 (%o3)                         x ` -
740                                   s
741 (%i4) units (foo);
742 (%o4)                          kg
743 (%i5) units (bar);
744                                 m
745 (%o5)                           -
746                                 s
747 (%i6) units (foo * bar);
748                               kg m
749 (%o6)                         ----
750                                s
751 (%i7) units (foo / bar);
752                               kg s
753 (%o7)                         ----
754                                m
755 (%i8) units (foo^2);
756                                  2
757 (%o8)                          kg
758 @end example
760 宣言された単位を持つシンボルに適用された@code{units}。
762 @c ===beg===
763 @c load ("ezunits")$
764 @c units (aa);
765 @c declare_units (aa, J);
766 @c units (aa);
767 @c units (aa^2);
768 @c foo : 100 ` kg;
769 @c units (aa * foo);
770 @c ===end===
771 @example
772 (%i1) load ("ezunits")$
773 (%i2) units (aa);
774 (%o2)                           1
775 (%i3) declare_units (aa, J);
776 (%o3)                           J
777 (%i4) units (aa);
778 (%o4)                           J
779 (%i5) units (aa^2);
780                                 2
781 (%o5)                          J
782 (%i6) foo : 100 ` kg;
783 (%o6)                       100 ` kg
784 (%i7) units (aa * foo);
785 (%o7)                         kg J
786 @end example
788 @opencatbox
789 @category{Package ezunits}
790 @closecatbox
792 @end deffn
794 @deffn {関数} qty (@var{x})
795 @deffnx {関数} declare_qty (@var{a}, @var{x})
797 @code{qty}は次元量@var{x}の無次元パーツを返します。
798 もし @var{x}が無次元なら、@var{x}を返します。
799 @var{x}は文字通り次元式 @math{a ` b}かも知れませんし、
800 宣言された量のシンボルかもしれませんし、
801 それらの一方または両方を含む式かもしれません。
803 @code{declare_qty}は、
804 @code{qty(@var{a})}は無次元量@var{x}を返さなければいけないことを宣言します。
806 @code{load("ezunits")}はこれらの関数をロードします。
808 例:
810 文字通り次元式に適用された@code{qty}。
812 @c ===beg===
813 @c load ("ezunits")$
814 @c foo : 100 ` kg;
815 @c qty (foo);
816 @c bar : v ` m/s;
817 @c foo * bar;
818 @c qty (foo * bar);
819 @c ===end===
820 @example
821 (%i1) load ("ezunits")$
822 (%i2) foo : 100 ` kg;
823 (%o2)                       100 ` kg
824 (%i3) qty (foo);
825 (%o3)                          100
826 (%i4) bar : v ` m/s;
827                                   m
828 (%o4)                         v ` -
829                                   s
830 (%i5) foo * bar;
831                                   kg m
832 (%o5)                     100 v ` ----
833                                    s
834 (%i6) qty (foo * bar);
835 (%o6)                         100 v
836 @end example
838 宣言された量のシンボルへ適用された@code{qty}。
840 @c ===beg===
841 @c load ("ezunits")$
842 @c declare_qty (aa, xx);
843 @c qty (aa);
844 @c qty (aa^2);
845 @c foo : 100 ` kg;
846 @c qty (aa * foo);
847 @c ===end===
848 @example
849 (%i1) load ("ezunits")$
850 (%i2) declare_qty (aa, xx);
851 (%o2)                          xx
852 (%i3) qty (aa);
853 (%o3)                          xx
854 (%i4) qty (aa^2);
855                                  2
856 (%o4)                          xx
857 (%i5) foo : 100 ` kg;
858 (%o5)                       100 ` kg
859 (%i6) qty (aa * foo);
860 (%o6)                        100 xx
861 @end example
863 @opencatbox
864 @category{Package ezunits}
865 @closecatbox
867 @end deffn
869 @c PROBABLY SHOULD RENAME THIS TO DIMENSIONALP !!
870 @deffn {関数} unitp (@var{x})
872 もし@var{x}が文字通り次元式か、
873 次元的と宣言されたシンボルか、
874 主演算子が次元的宣言された式なら、
875 @code{true}を返します。
876 それ以外なら、@code{unitp}は @code{false}を返します。
878 @code{load("ezunits")}はこの関数を返します。
880 例:
882 文字通り次元式へ適用された@code{unitp}。
884 @c ===beg===
885 @c load ("ezunits")$
886 @c unitp (100 ` kg);
887 @c ===end===
888 @example
889 (%i1) load ("ezunits")$
890 (%i2) unitp (100 ` kg);
891 (%o2)                         true
892 @end example
894 次元的と宣言されたシンボルへ適用された@code{unitp}。
896 @c ===beg===
897 @c load ("ezunits")$
898 @c unitp (foo);
899 @c declare (foo, dimensional);
900 @c unitp (foo);
901 @c ===end===
902 @example
903 (%i1) load ("ezunits")$
904 (%i2) unitp (foo);
905 (%o2)                         false
906 (%i3) declare (foo, dimensional);
907 (%o3)                         done
908 (%i4) unitp (foo);
909 (%o4)                         true
910 @end example
912 主演算子が次元的と宣言された式に適用された@code{unitp}。
914 @c ===beg===
915 @c load ("ezunits")$
916 @c unitp (bar (x, y, z));
917 @c declare (bar, dimensional);
918 @c unitp (bar (x, y, z));
919 @c ===end===
920 @example
921 (%i1) load ("ezunits")$
922 (%i2) unitp (bar (x, y, z));
923 (%o2)                         false
924 (%i3) declare (bar, dimensional);
925 (%o3)                         done
926 (%i4) unitp (bar (x, y, z));
927 (%o4)                         true
928 @end example
930 @opencatbox
931 @category{Package ezunits}
932 @closecatbox
934 @end deffn
936 @deffn {関数} declare_unit_conversion (@var{u} = @var{v}, ...)
938 式 @var{u} = @var{v}, ... を
939 単位変換演算子 @math{`@w{}`}が知っている単位変換のリストに追加します。
940 @var{u}と @var{v}はともにその中のいかなる変数も単位である乗法の項か、
941 文字通り次元式です。
943 現在、
944 それぞれの式の左辺が(乗法式でなく)ただの単位か、
945 1に等しい量とただの単位である単位の文字通り次元式であるような
946 変換を表現する必要があります。
947 この限定は将来のバージョンで緩和されるかもしれません。
949 @code{known_unit_conversions}は既知の単位変換のリストです。
951 @code{load("ezunits")}はこの関数をロードします。
953 例:
955 乗法項の等式で表現された単位変換。
957 @c ===beg===
958 @c load ("ezunits")$
959 @c declare_unit_conversion (nautical_mile = 1852 * m, 
960 @c                          fortnight = 14 * day);
961 @c 100 ` nautical_mile / fortnight `` m/s;
962 @c ===end===
963 @example
964 (%i1) load ("ezunits")$
965 (%i2) declare_unit_conversion (nautical_mile = 1852 * m,
966                                fortnight = 14 * day);
967 (%o2)                         done
968 (%i3) 100 ` nautical_mile / fortnight `` m/s;
969 Computing conversions to base units; may take a moment. 
970                             463    m
971 (%o3)                       ---- ` -
972                             3024   s
973 @end example
975 文字通り次元式の等式で表現された単位変換。
977 @c ===beg===
978 @c load ("ezunits")$
979 @c declare_unit_conversion (1 ` fluid_ounce = 2 ` tablespoon);
980 @c declare_unit_conversion (1 ` tablespoon = 3 ` teaspoon);
981 @c 15 ` fluid_ounce `` teaspoon;
982 @c ===end===
983 @example
984 (%i1) load ("ezunits")$
985 (%i2) declare_unit_conversion (1 ` fluid_ounce = 2 ` tablespoon);
986 (%o2)                         done
987 (%i3) declare_unit_conversion (1 ` tablespoon = 3 ` teaspoon);
988 (%o3)                         done
989 (%i4) 15 ` fluid_ounce `` teaspoon;
990 Computing conversions to base units; may take a moment. 
991 (%o4)                     90 ` teaspoon
992 @end example
994 @opencatbox
995 @category{Package ezunits}
996 @closecatbox
998 @end deffn
1000 @deffn {関数} declare_dimensions (@var{a_1}, @var{d_1}, ..., @var{a_n}, @var{d_n})
1001 @deffnx {関数} remove_dimensions (@var{a_1}, ..., @var{a_n})
1003 @code{declare_dimensions}は
1004 @var{a_1}, ..., @var{a_n}を
1005 それぞれ、次元@var{d_1}, ..., @var{d_n}を持つと
1006 宣言します。
1008 @var{a_k}それぞれはシンボルかシンボルのリストです。
1009 もしリストなら、@var{a_k}内のすべてのシンボルは
1010 次元 @var{d_k}を持つように宣言されます。
1012 @code{remove_dimensions}は @code{declare_dimensions}の効果を戻します。
1014 @code{load("ezunits")}はこれらの関数をロードします。
1016 例:
1018 @c ===beg===
1019 @c load ("ezunits") $
1020 @c declare_dimensions ([x, y, z], length, [t, u], time);
1021 @c dimensions (y^2/u);
1022 @c fundamental_units (y^2/u);
1023 @c ===end===
1024 @example
1025 (%i1) load ("ezunits") $
1026 (%i2) declare_dimensions ([x, y, z], length, [t, u], time);
1027 (%o2)                         done
1028 (%i3) dimensions (y^2/u);
1029                                    2
1030                              length
1031 (%o3)                        -------
1032                               time
1033 (%i4) fundamental_units (y^2/u);
1034 0 errors, 0 warnings
1035                                 2
1036                                m
1037 (%o4)                          --
1038                                s
1039 @end example
1041 @opencatbox
1042 @category{Package ezunits}
1043 @closecatbox
1045 @end deffn
1047 @deffn {関数} declare_fundamental_dimensions (@var{d_1}, @var{d_2}, @var{d_3}, ...)
1048 @deffnx {関数} remove_fundamental_dimensions (@var{d_1}, @var{d_2}, @var{d_3}, ...)
1049 @deffnx {グローバル変数} fundamental_dimensions
1051 @code{declare_fundamental_dimensions}は基本次元を宣言します。
1052 シンボル @var{d_1}, @var{d_2}, @var{d_3}, ... は、
1053 もしそれらがまだリストの中にないなら、基本次元のリストに追加されます。
1055 @code{remove_fundamental_dimensions}は
1056 @code{declare_fundamental_dimensions}の効果を戻します。
1058 @code{fundamental_dimensions}は基本次元のリストです。
1059 デフォルトでは、リストはいくつかの物理次元から成ります。
1061 @code{load("ezunits")}はこれらの関数をロードします。
1063 例:
1065 @c ===beg===
1066 @c load ("ezunits") $
1067 @c fundamental_dimensions;
1068 @c declare_fundamental_dimensions (money, cattle, happiness);
1069 @c fundamental_dimensions;
1070 @c remove_fundamental_dimensions (cattle, happiness);
1071 @c fundamental_dimensions;
1072 @c ===end===
1073 @example
1074 (%i1) load ("ezunits") $
1075 (%i2) fundamental_dimensions;
1076 (%o2) [length, mass, time, current, temperature, quantity]
1077 (%i3) declare_fundamental_dimensions (money, cattle, happiness);
1078 (%o3)                         done
1079 (%i4) fundamental_dimensions;
1080 (%o4) [length, mass, time, current, temperature, quantity, 
1081                                         money, cattle, happiness]
1082 (%i5) remove_fundamental_dimensions (cattle, happiness);
1083 (%o5)                         done
1084 (%i6) fundamental_dimensions;
1085 (%o6) [length, mass, time, current, temperature, quantity, money]
1086 @end example
1088 @opencatbox
1089 @category{Package ezunits}
1090 @closecatbox
1092 @end deffn
1094 @deffn {関数} declare_fundamental_units (@var{u_1}, @var{d_1}, ..., @var{u_n}, @var{d_n})
1095 @deffnx {関数} remove_fundamental_units (@var{u_1}, ..., @var{u_n})
1097 @code{declare_fundamental_units}は
1098 @var{u_1}, ..., @var{u_n}を
1099 それぞれ、次元@var{d_1}, ..., @var{d_n}を持つように宣言します。
1100 引数すべてはシンボルでなければいけません。
1102 @code{declare_fundamental_units}をコールした後、
1103 @code{dimensions(@var{u_k})}は
1104 引数@var{u_1}, ..., @var{u_n}それぞれに対して
1105 @var{d_k}を返し、
1106 @code{fundamental_units(@var{d_k})}は
1107 引数@var{d_1}, ..., @var{d_n}それぞれに対して
1108 @var{u_k}を返します。
1111 @code{remove_fundamental_units}は
1112 @code{declare_fundamental_units}の効果を戻します。
1114 @code{load("ezunits")}はこれらの関数をロードします。
1116 例:
1118 @c ===beg===
1119 @c load ("ezunits") $
1120 @c declare_fundamental_dimensions (money, cattle, happiness);
1121 @c declare_fundamental_units (dollar, money, goat, cattle, smile, happiness);
1122 @c dimensions (100 ` dollar/goat/km^2);
1123 @c dimensions (x ` smile/kg);
1124 @c fundamental_units (money*cattle/happiness);
1125 @c ===end===
1126 @example
1127 (%i1) load ("ezunits") $
1128 (%i2) declare_fundamental_dimensions (money, cattle, happiness);
1129 (%o2)                         done
1130 (%i3) declare_fundamental_units (dollar, money, goat, cattle, smile, happiness);
1131 (%o3)                 [dollar, goat, smile]
1132 (%i4) dimensions (100 ` dollar/goat/km^2);
1133                              money
1134 (%o4)                    --------------
1135                                       2
1136                          cattle length
1137 (%i5) dimensions (x ` smile/kg);
1138                             happiness
1139 (%o5)                       ---------
1140                               mass
1141 (%i6) fundamental_units (money*cattle/happiness);
1142 0 errors, 0 warnings
1143                            dollar goat
1144 (%o6)                      -----------
1145                               smile
1146 @end example
1148 @opencatbox
1149 @category{Package ezunits}
1150 @closecatbox
1152 @end deffn
1154 @deffn {関数} dimensions (@var{x})
1155 @deffnx {関数} dimensions_as_list (@var{x})
1157 @code{dimensions}は
1158 基礎次元の積と冪で構成された式として
1159 次元量@var{x}の次元を返します。
1161 @code{dimensions_as_list}は
1162 それぞれの要素が@var{x}の次元に関して対応する基礎次元の冪を示す整数であるようなリストとして次元量@var{x}の次元を返します。
1165 @code{load("ezunits")}はこれらの関数をロードします。
1167 例:
1169 @c ===beg===
1170 @c load ("ezunits")$
1171 @c dimensions (1000 ` kg*m^2/s^3);
1172 @c declare_units (foo, acre*ft/hour);
1173 @c dimensions (foo);
1174 @c ===end===
1175 @example
1176 (%i1) load ("ezunits")$
1177 (%i2) dimensions (1000 ` kg*m^2/s^3);
1178                                 2
1179                           length  mass
1180 (%o2)                     ------------
1181                                  3
1182                              time
1183 (%i3) declare_units (foo, acre*ft/hour);
1184                              acre ft
1185 (%o3)                        -------
1186                               hour
1187 (%i4) dimensions (foo);
1188                                    3
1189                              length
1190 (%o4)                        -------
1191                               time
1192 @end example
1194 @c ===beg===
1195 @c load ("ezunits")$
1196 @c fundamental_dimensions;
1197 @c dimensions_as_list (1000 ` kg*m^2/s^3);
1198 @c declare_units (foo, acre*ft/hour);
1199 @c dimensions_as_list (foo);
1200 @c ===end===
1201 @example
1202 (%i1) load ("ezunits")$
1203 (%i2) fundamental_dimensions;
1204 (%o2)  [length, mass, time, charge, temperature, quantity]
1205 (%i3) dimensions_as_list (1000 ` kg*m^2/s^3);
1206 (%o3)                 [2, 1, - 3, 0, 0, 0]
1207 (%i4) declare_units (foo, acre*ft/hour);
1208                              acre ft
1209 (%o4)                        -------
1210                               hour
1211 (%i5) dimensions_as_list (foo);
1212 (%o5)                 [3, 0, - 1, 0, 0, 0]
1213 @end example
1215 @opencatbox
1216 @category{Package ezunits}
1217 @closecatbox
1219 @end deffn
1221 @deffn {関数} fundamental_units (@var{x})
1222 @deffnx {関数} fundamental_units ()
1224 @code{fundamental_units(@var{x})}は
1225 @code{dimensions(@var{x})}が決定するように
1226 @var{x}の基本次元に関連付けられた
1227 単位を返します。
1229 @var{x}は文字通り次元式@math{a ` b}か、
1230 @code{declare_units}を介して宣言された単位を持つシンボルか
1231 それらのいずれかもしくは両方を含む式かもしれません。
1233 @code{fundamental_units()}は
1234 @code{declare_fundamental_units}が宣言するように、
1235 既知の基本単位すべてのリストを返します。
1238 @code{load("ezunits")}はこの関数をロードします。
1240 例:
1242 @c ===beg===
1243 @c load ("ezunits")$
1244 @c fundamental_units ();
1245 @c fundamental_units (100 ` mile/hour);
1246 @c declare_units (aa, g/foot^2);
1247 @c fundamental_units (aa);
1248 @c ===end===
1249 @example
1250 (%i1) load ("ezunits")$
1251 (%i2) fundamental_units ();
1252 (%o2)                 [m, kg, s, A, K, mol]
1253 (%i3) fundamental_units (100 ` mile/hour);
1254                                 m
1255 (%o3)                           -
1256                                 s
1257 (%i4) declare_units (aa, g/foot^2);
1258                                 g
1259 (%o4)                         -----
1260                                   2
1261                               foot
1262 (%i5) fundamental_units (aa);
1263                                kg
1264 (%o5)                          --
1265                                 2
1266                                m
1267 @end example
1269 @opencatbox
1270 @category{Package ezunits}
1271 @closecatbox
1273 @end deffn
1275 @deffn {関数} dimensionless (@var{L})
1277 次元量のリスト@var{L}から形成できる
1278 無次元量の基底を返します。
1280 @code{load("ezunits")}はこの関数をロードします。
1282 例:
1284 @c ===beg===
1285 @c load ("ezunits") $
1286 @c dimensionless ([x ` m, y ` m/s, z ` s]);
1287 @c ===end===
1288 @example
1289 (%i1) load ("ezunits") $
1290 (%i2) dimensionless ([x ` m, y ` m/s, z ` s]);
1291 0 errors, 0 warnings
1292 0 errors, 0 warnings
1293                                y z
1294 (%o2)                         [---]
1295                                 x
1296 @end example
1298 Dimensionless quantities derived from fundamental physical quantities.
1299 Note that the first element on the list
1300 is proportional to the fine-structure constant.
1302 @c ===beg===
1303 @c load ("ezunits") $
1304 @c load ("physical_constants") $
1305 @c dimensionless([%h_bar, %m_e, %m_P, %%e, %c, %e_0]);
1306 @c ===end===
1307 @example
1308 (%i1) load ("ezunits") $
1309 (%i2) load ("physical_constants") $
1310 (%i3) dimensionless([%h_bar, %m_e, %m_P, %%e, %c, %e_0]);
1311 0 errors, 0 warnings
1312 0 errors, 0 warnings
1313                               2
1314                            %%e        %m_e
1315 (%o3)                [--------------, ----]
1316                       %c %e_0 %h_bar  %m_P
1317 @end example
1319 @opencatbox
1320 @category{Package ezunits}
1321 @closecatbox
1323 @end deffn
1325 @c NEED TO FILL IN !!
1326 @deffn {関数} natural_unit (@var{expr}, [@var{v_1}, ..., @var{v_n}])
1328 @code{dimension(@var{expr}) = dimension(@var{v_1}^@var{e_1} ... @var{v_n}^@var{e_n})}であるような
1329 指数@var{e_1}, ..., @var{e_n}を見つけます。
1331 @code{load("ezunits")}はこの関数をロードします。
1333 例:
1335 @c ===beg===
1336 @c ===end===
1337 @example
1338 @end example
1340 @opencatbox
1341 @category{Package ezunits}
1342 @closecatbox
1344 @end deffn