APL/J言語 の検索結果:

APL/J言語:多項式(ニュートン法による係数のルート)

APL/J言語:多項式(ニュートン法による係数のルート) 翻訳がやけくそになってきてますが、続けます。ニュートン法はウィキペディアに載ってました。 - 数値解析の分野において、ニュートン法(ニュートンほう、Newton's method)またはニュートン・ラプソン法とは、方程式系を数値計算によって解くための反復法による求根アルゴリズムの1つである。対象とする方程式系に対する条件は、領域における微分可能性と2次微分に関する符号だけであり、線型性などは特に要求しない。収束の速さも…

APL/J言語:多項式(カーナー法による係数のルート)

APL/J言語:多項式(カーナー法による係数のルート) カーナー法(Kerner's Method)という名前ではウィキペディアにはありませんが、「求根アルゴリズム」というページに若干の記述がありました。 - ニュートン法は一度に一つのルートを対象とし、最初の近似が近いところにある必要があります。カーナー法では、すべてのルートを求める一般的な方法であり、リストから始め、残るf aの要素を対応するルートについての微分係数で割っていきます。この方法は最高次の多項式係数が1のものに…

APL/J言語:ルート表現としての多項式(polynomials in terms of root

APL/J言語:ルート表現としての多項式(polynomials in terms of roots)どんどんわからなくなってますが、とりあえず翻訳。 - 積*/y-rはルートrの表現としての多項式(polynomials in terms of roots r)と呼ばれる。理由は、引数yに多項式を適用したものと表されると同時に関数の結果のルートとゼロのリストがrになるからである。 */y-r [ y=: 7 [ r=: 2 3 5 [ x=: 7 6 5 4 3 2 40 …

APL/J言語:多項式(polinomial)その2

APL/J言語:多項式(polinomial)その2 - 以下は例示です。 c=: 1 2 1 [ d=: 1 3 3 1 x=: 2 1 0 _1 _2 ,.&.>((d&p.D x);(pD d);((pD d)&p. x);(pI d);pD pI d) +--+-+--+----+-+ |27|3|27| 0|1| |12|6|12| 1|3| | 3|3| 3| 1.5|3| | 0| | 0| 1|1| | 3| | 3|0.25| | +--+-+--+----…

APL/J言語:多項式(polinomial)その1

APL/J言語:多項式(polinomial)その1 例によって、わかりませんが、翻訳です。 - 単項関数M=: 3: * ] ^ 2:は引数の二乗の三倍であり、このような式は単項式と呼ばれる。一方、単項式の合計であるSM=: (3:*]^2:)+(2.5"_*]^4:)+(_5:*]^0:)のような式を多項式と呼ぶ。すべての多項式はc&pという標準形式で表すことができる。ここでcは係数のリストであり、p=: +/@([*]^i.@#@[)"1 0である。以下の例を見よ。 S…

APL/J言語:グラフ理論(距離)

APL/J言語:グラフ理論(距離)これもわからないまま翻訳 - 二つの点のストリート距離(“street” distance)はそれぞれの軸の座標の差の大きさの合計として定義される。 d=: +/@:|@:-"1 p=: 3 5 1 [ q=: 7 4 0 p d q 6 table=: #: i. 2^3 (]; d/~) table NB.点のペアの距離のテーブル +-----+---------------+ |0 0 0|0 1 1 2 1 2 2 3| |0 0 1…

APL/J言語:グラフ理論(クロージャー)

APL/J言語:グラフ理論(クロージャー) これもわからないまま翻訳 - 前回のページでb imfam cmがbの直接のファミリー(immediate family)を生成したように、フレーズcm imfam cmはcmのそれぞれの行の直接のファミリーを生成する。ここで我々はよりわかりやすくするために新しいスパース(疎)な結合マトリックスを用いる。また、imfamの繰り返し(power)を用いてより多くのジェネレーションのファミリーを生成する。無限繰り返しを用いて結合マトリッ…

APL/J言語:%.(パーセントドット、逆行列)

APL/J言語:%.(パーセントドット、逆行列) ボキャブラリーの逆行列(Matrix Inverse)のところの翻訳です。 yが正則行列(non-singular matrix)ならば%.yはyの逆行列である。 以下の例では、2x2の行列の逆行列に元の行列を掛けて単位行列になることがわかる。 mp=: +/ . * NB. Matrix product (%. ; ] ; %. mp ]) i. 2 2 +--------+---+---+ |_1.5 0.5|0 1|1 …

APL/J言語:グラフ理論

APL/J言語:グラフ理論以下、よくわかりません。 - グラフ理論における、有向グラフ(向き有りグラフ、directed graph)とは結線(connection)やアーク(arc)によって結ばれたノード(接点)の集合である。ツリー構造や、手順における前工程(封筒を糊付けする前に、中身を入れる、等)を示すために用いられる。結線はアークのかわりにブール型結合マトリックスで示すことができる。逆に結合マトリックスはアークのリストによって決定することができる。結合マトリックスはグラ…

APL/J言語:数字(ナンバー)

APL/J言語:数字(ナンバー)J言語で扱う数字(ナンバー)は、6種類あって、ブール型、整数、実数(リアル)、複素数、拡張整数(任意の桁数の数字)、有理数(拡張整数のペア)です。 関連して、特殊数字(無限と不確定数)、表記法、表示、ランダム数についても述べます。 a=:'0=0';'37';'2.5';'1.23457e10' b=:(datatype 0=0);(datatype 37);(datatype 2.5);(datatype 1.23456e10) a ,: b…

APL/J言語:シンボル関数

APL/J言語:シンボル関数 関数について、式を評価するよりも式を表示するために対応するシンボル関数を定義することができます。 minus=: [ , '-'"_ , ] 'a' minus 'b' a-b list=: 'abcd' table=: 4 4$'ABCDEFGHIJKLMNOP' minus/list a-b-c-d (minus/\list);('01'minus"0/list);(minus//.table);table +-------+---+----…

APL/J言語:座標幾何学

APL/J言語:座標幾何学 座標幾何学について、二次元のポリゴンのための関数を説明します。それにより、隣り合う頂点の置換、辺の長さ、半周、ヘロンの公式に基づいた面積が扱われます。また、頂点が反時計回りの時に正となるような符号付面積だけでなく、より一般的な高次の次元での多面体の場合についてもあてはまる定義をしめします(その場合、面積というよりはボリュームということになります)。この定義は値%!#tの最後の行による頂点tのテーブルのボーダー化によって得られる正方行列に対して行われ…

APL/J言語:M.(ラージエムドット、メモ)

APL/J言語:M.(ラージエムドット、メモ) u M.というように使います。作用はuのみの場合と同じであるが、引数と結果をキープして後で使用できるようにします。。再帰(リカーシブ)に作用させる場合によく使われます。以下の例では、メモ化(memoization)の効果による違いを示します。fib nはn番目のフィボナッチ数です。pnは整数のパーティションの数をオイラーによる再現関係式を用いて算出します。下記サイトの等式11を参照して下さい。 http://mathworld.…

APL/J言語:カット(;.セミコロンドット)

…的に意味不明。 - APL/J言語:カット(;.セミコロンドット) u;.0 yというように使われた場合、yのそれぞれの軸に沿って逆転してからuを適用します。(0 _1 */$y) u;.0 yと同値の結果になります。フレットとして0{y(yの最初のアイテム)がyのアイテムのインターバルの最初をマークします。フレーズu;.1 yがuをそのインターバルに適用します。フレーズu;._1 yは結果からフレットを除いたものです。u;.2とu;._2ではフレットは最後のアイテムであり、…

APL/J言語:パーティション副詞

APL/J言語:パーティション副詞 配列の部分(パーティション)に動詞を作用させる際の副詞は\ \. /.があり、それぞれプレフィックス、サフィックス、オブリークパーティションなどと呼ばれる。通常、+/(プラススラッシュ、合計)や*/(アスタリスクスラッシュ、積)、(+%)/(連続分数合計)等、算術的な関数と共にに使われます。またボックス化関数( a=: 2 3 5 7 11 [ t=: 1 2 1 */ 1 3 3 1 ,.&.>((+/\a) ; (+/\.a) ; ((…

APL/J言語:結合(ジャンクション)

APL/J言語:結合(ジャンクション) 引数どうしを結合するのに使われる動詞(関数)は; , ,. ,:の4つです。ベクトルの場合と行列(マトリックス)の場合の例で以下に示します。 a=: 'pqr' [ b=: 'PQR' m=: 3 3$ 'abcdefghi' [ n=: 3 3$ 'ABCDEFGHI' a (; ; , ; ,. ; ,:) b +---------+------+--+---+ |+---+---+|pqrPQR|pP|pqr| ||pqr|PQR…

APL/J言語:コンポジション(フックとフォークベース)

APL/J言語:コンポジション(フックとフォークベース) 動詞は2個、3個並べるだけであらたな動詞となります。その際の作用は、下記のようなダイアグラムで表されます。 フォーク フック g g g g / \ / \ / \ / \ f h f h y h x h | | / \ / \ | | y y x y x y y y たとえば、5(+*-)3は、(5+3)*(5-3)となります。上記は、ディクショナリーのセクションII Fに書かれています。以下の例は統計で使われる関数…

APL/J言語:コンポジション(接続詞ベース)

APL/J言語:コンポジション(接続詞ベース) 数学において、よく ° が二つの関数を結びつけて新しい関数を作成する際の表示に使われる。f ° g yをf (g y)と定義する、などである。通常、そのようにして作られた関数の引数は一つのスカラーである。J言語は、動詞をただ並べることによって作られるフックやフォークやその連結によってなされる関数の連結(コンポジション)以外に、5つの特別な接続詞を用いて関数の連結(コンポジション)を行います。すなわち& &. &: @ @:の5つ…

APL/J言語:ランク”(クオート)

APL/J言語:ランク"(クオート) ランク"(クオート)は、m"nというように使われる場合、mというコンスタントな結果をnのそれぞれのセルに適用する。nの使われるランクは3 $&.|. $nである。たとえば$n=2ならば、三つのランクは2 2 2となり、$n=2 3ならば、三つのランクは3 2 3となる。負のランクは補数となり、m"(-r) yはm"(0>.(#$y)-r)"_ yと同等である。 従って、以下のようになる。 v=: 2 3 5 7 m=: i. 2 3 m …

APL/J言語:並べ替え

APL/J言語:並べ替え 並べ替え(ソート)関数/:(スラッシュコロン)は、x /: yとしたときyのグレードの順にxを並べ替える。yのグレードは/: yで確認できる。 x=: 2 7 1 8 [ y=: 1 7 3 2 (/:y);((/:y){x);(x/:y);(x/:x) +-------+-------+-------+-------+ |0 3 2 1|2 8 1 7|2 8 1 7|1 2 7 8| +-------+-------+-------+------…

APL/J言語:-.(マイナスドット、ノット、レス)

APL/J言語:-.(マイナスドット、ノット、レス) 単項動詞-.(マイナスドット、ノット)はブール型(真偽)の引数yについて、-.yは1-yを返す。すなわちブール代数のコンプリメント(NOT)である。確率においては、確率のコンプリメントを返す。 二項動詞としての-.(マイナスドット、レス)はx-.yとしたとき、xの要素でyの要素にないものを返す。トレランスは-.!.tによって指定する。 レス関数はの両側の引数は標準的形式のペアである。 (i. 9) -. 2 3 5 7 0…

APL/J言語:分類(集合と命題)

APL/J言語:分類(集合と命題) 分類テーブルtに-.+./tを作用すると、完全分類表が作られる。下記の関数は従って、完全分類テーブルである。tabという関数はスカラーやベクトル引数を一行のテーブルとして扱うためのものである。 c=: complete=: (] , (+./ {. ,:)@:-.@:(+./))@:tab tab=: ,:^:(0:>.2:-#@$) c 0 0 1,:0 1 0 0 0 1 0 1 0 1 0 0 c 1 0 1,:0 1 0 1 0 1…

APL/J言語:斜め副詞オブリーク(/.)

APL/J言語:斜め副詞オブリーク(/.) u/.yは、uという動詞をテーブルの要素を斜めに切り取って作用する。 i.3 4 0 1 2 3 4 5 6 7 8 9 10 11 </. i.3 4 +-+---+-----+-----+----+--+ |0|1 4|2 5 8|3 6 9|7 10|11| +-+---+-----+-----+----+--+ 一般化して、u/.yはuをyの_2セルに作用させた結果である。yのランクが2よりも小さい場合は、yは,.yとして対…

APL/J言語:キー副詞(/.)

APL/J言語:キー副詞(/.) x u/.y ↔ (=x) u@# y すなわち、xの要素が対応するyの要素にキーを対応させ、同じキーを持つものの集合について、uを作用させる 1 2 3 1 3 2 1 </. 'abcdefg' +---+--+--+ |adg|bf|ce| +---+--+--+ 解析: (=1 2 3 1 3 2 1) # 'abcdefg' adg bf ce (=1 2 3 1 3 2 1) <@# 'abcdefg' +---+--+--+ |…

APL/J言語:分類(選択と内積)

APL/J言語:分類(選択と内積) 完全分類テーブルは各種内積を含む、いろいろな用途に応用されます。 cct=: #:@i.@(2: ^ #) m=: 2 3 5 ,: 4 2 1 n=: |: cct 0{m m ; n ; m +/ . * n +-----+---------------+----------------+ |2 3 5|0 0 0 0 1 1 1 1|0 5 3 8 2 7 5 10| |4 2 1|0 0 1 1 0 0 1 1|0 1 2 3 4 …

APL/J言語:グラフにおける疎分類

APL/J言語:グラフにおける疎分類 もし、ブール型リストbの最後の要素がゼロでなければ、</bの値は必ずゼロでない値になり、また、</bの値がゼロでない値になる場合は必ずbの最後の要素はゼロではない。 従って、bに</\を適用すると、最初の要素以外は無視され、結果は疎分類になります。 cct=: #:@i.@(2: ^ #) NB.完全分類テーブル b=: |: cct 2 3 5 7 b 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 …

APL/J言語:分類

APL/J言語:分類 分類は日常的な概念です。たとえばアルファベットは母音と子音、口唇音、破裂音等に分類できます。色ならば原色と混色に分類できる。数字ならば奇数、偶数、素数、複素数などがある。分類は重要であり、さまざまな概念の基礎となる。たとえばグラフ、棒グラフ、セット(集合)などである。分類は完全の場合(すべてのオブジェクトがどこかの最低限1箇所のクラスに属する場合)と、疎の場合(すべてのオブジェクトが最大で一つのクラスに属する場合)がある。グラフは疎の例の分類であり、棒グ…

APL/J言語:その他の表各種

APL/J言語:その他の表各種 div=: 0=rem=: i |/i=: i.7 NB.割り切れ可能性と剰余一覧 (,.i) ; rem ; div +-+-------------+-------------+ |0|0 1 2 3 4 5 6|1 0 0 0 0 0 0| |1|0 0 0 0 0 0 0|1 1 1 1 1 1 1| |2|0 1 0 1 0 1 0|1 0 1 0 1 0 1| |3|0 1 2 0 1 2 0|1 0 0 1 0 0 1| |4|0…

APL/J言語:文字の頻出度表

APL/J言語:文字の頻出度表 text=: ' i sing of olaf glad and big' alph=: ' abcdefghijklmnopqrstuvwxyz' 10{.alph=/text 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …

APL/J言語:行列式(determinant)

APL/J言語:行列式(determinant) このサイトを「行列式」で検索するとJ言語では-/ . *(マイナススラッシュスペースドットスペースアスタリスク)というフレーズで算出される話がなんどか出てきます。 行列式とは何かというと正方行列において定義された数値です。 n掛けるnの正方行列として、nが2ならば ad - bcで定義されて、座標上の平行四辺形の面積です。 nが2だとaei - afh - bdi + bfg + cdh - cegで定義されて、座標上の平行6…