1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

数学関数 ― J 言語入門

Last updated at Posted at 2020-11-03

J では、階乗や三角関数など、いくつかの関数が verb として実装されています。そのうちの一部を、ここで紹介します 1

床関数・天井関数

床関数 (floor) は <.、天井関数 (ceiling) は >. (どちらも monad) です。

   <.1.2
1
   <._1.2
_2
   >.1.2
2
   >._1.2
_1

max・min

<.>. を dyad として使うと、引数のうち小さい方 / 大きい方を返します。

   1 <. 2   NB. min
1
   1 >. 2   NB. max
2

/ と組み合わせると、リストの中で最小 / 最大の値を求められます。

   <./ 2 5 0 _2 1
_2

最大公約数・最小公倍数

+. (dyad) は最大公約数 (GCD) を、*. (dyad) は最小公倍数 (LCM) を求めます。

   12 +. 16
4
   12 *. 16
48

引数が boolean (0 / 1) の場合は、+. は論理和 (or)、*. は論理積 (and) を表します。

   0 +. 1
1
   0 *. 1
0

階乗

! (monad) は階乗を計算します。自然数以外も引数にとることができます (ガンマ関数を用いて計算されるため)。

   !5       NB. 5!
120

! (dyad) は、組合せの総数を求める計算です。

   3 ! 5    NB. C(5, 3)
10

指数関数・対数関数

x の y 乗 (指数) を計算するには、^ (dyad) を使います。

   2 ^ 3
8

一方で、対数は、^. (dyad) で求められます。

   2 ^. 8   NB. log(2, 8)
3

^^. も、monad として使った場合、底を e (ネイピア数) として計算されます。

三角関数

o. は、三角関数などの計算に使われます 2

   NB. 1r3p1 は 1/3 * π^1 = π/3 (60°)
   1 o. 1r3p1     NB. sin(π/3)
0.866025
   2 o. 1r3p1     NB. cos(π/3)
0.5
   3 o. 1r3p1     NB. tan(π/3)
1.73205

左の引数で、関数を指定します。(例えば、1 は sin、2 は cos を表します。) なんと 25 種類 3 の関数を使うことができるのですが、多すぎるので割愛します。

複素数

j. は、実数から複素数を作る verb です。

   j. 2
0j2
   1 j. _1
1j_1
   _1 j. 2 * 3
_1j6

複素数から実部・虚部を取り出す機能もあります。

   +.2j3       NB. 実部・虚部のリスト
2 3
   9 o. 2j3    NB. 実部
2
   11 o. 2j3   NB. 虚部
3

複素数の計算は基本的に実数と同じ verb を使いますが、1 つだけ注意が必要です。+ (monad) は、引数が complex のとき共役複素数を返します。

   +2j3
2j_3

素数

p: (monad) を使うと、n 番目の素数を求めることができます。

   p:3      NB. 3 番目の素数
7
   p:i.10   NB. 最初の 10 個の素数
2 3 5 7 11 13 17 19 23 29

q: (monad) は、素因数分解を行います。

   q:120
2 2 2 3 5

[ 前 : 様々な数値 ] [ 目次 ] [ 次 : ユニコード文字列 ]

  1. もちろん、覚えなくていいです。使う機会があるのは ほんの一部だと思います。

  2. 三角関数や円に関係のある 雑多な機能が詰め込まれています。

  3. _12 から 12 までの整数で指定します。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?