問題タブ [apl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matrix - APLは行列内の要素の頻度を見つけます
私はこのコードを持っています
次の行列を生成します
結果の各一意の要素の出現、つまり結果の2、3、4、5の出現を見つけたいと思います。
「∘.=」をマトリックス自体で使用してから、各サブマトリックスの要素が次を使用して行に変換されるように再形成してみました
次の結果が得られます
ご覧のとおり、重複したアイテムの合計がまだ含まれており、今のところ迷っています。どんな助けでも大歓迎です。
vector - ベクトルの要素のすべてのペアに対するスキャンのような操作
次のベクトルがあります。
そして、その各ペアを合計したいと思います( 2+/vec
2つの隣接する要素ごとに合計する に似ています)。
APL でこれを行う最も効率的な方法は何ですか?
apl - 各オペレーターは APL インタープリターによってどのように最適化されますか?
APL を使用するときにeach演算子を頻繁に使用する必要があるのか、それとも特定の問題に対する別の解決策を見つけようとする必要があるのか疑問に思っています。
この演算子の使用法は APL でどのように最適化されていますか?
vector - Dyalog での文字列操作のパフォーマンス
Dyalog APL での文字ベクトルの比較に関して 2 つの質問があります。次のコードは、文字ベクトルを 1 つずつ比較します。
- 高速化するために ( 2 つのベクトルの場合、および多くのベクトルを単一のベクトルと比較する場合と同様に)、文字ベクトルを数値ベクトルに変換する必要がありますか、APL では問題になりません ( C)?
- 私は DNA 配列を比較しています (
ATCG
アルファベットのみで構成されている可能性があります)。そのようなベクトルに対するさまざまな操作を高速化するためにできることはありますか?
primes - APL での Pollard Rho の実装
最近、私は APL を使って仕事をしようとしましたが、それを概念化するのに苦労しました。たとえば、g<-pollard x というプログラムを作成したいとしましょう。この関数は、数値 x が素数であるか、Pollard-Rho 法によって因数分解できるかを計算します。
メソッド自体は知っていますが、実際に APL に統合するにはどこから始めたらよいかわかりません。この関数で使用するまったく新しい関数 f(x) を作成することから始めるべきですか、それともコードにすべてを含める必要がありますか? 次の実行に使用するために、前回の実行から x を保存するにはどうすればよいですか? プログラム全体を要求しているわけではなく、開始するためのいくつかの推奨事項を求めていることに注意してください。
for-loop - APL プログラミング - ベクトルへの値の割り当て
最近、私はAPLに入ろうとしています。ただし、私が頻繁に直面する問題の 1 つは、ベクトルに値を代入することです。
複数の結果を取得する予定の特定のプログラム (たとえば、文字または文字列を 8 ビットのバイナリ ベクトルに変換するプログラム) では、その場しのぎの for ループを作成してから、i 番目の部分を割り当てようとしました。正しい値を持つ範囲ベクトルの。たとえば、char->bin ベクトル プログラムでは次のようになります。
ただし、これを試すたびに、r[x] に値が割り当てられている行で長さエラーが発生しました。プログラムの何が問題なのですか?どうすれば修正できますか?
apl - ⎕CT の制限を回避するにはどうすればよいですか?
ここに私の基本的な問題があります:
VAL が増分の倍数であるかどうかを判断したいと考えています。私の最初の解決策は、(VAL-LOW)÷INC が整数かどうかを確認することでした。ここで ⎕CT の問題に遭遇しました (以下は実際のコードではありませんが、私のケースを示しています)。
まあ!(注: もちろん、これはコードを「素足」で実行した場合には発生しません。実際の環境でコール スタックの奥深くにある場合のみです。)
2 番目のアイデアはあまりエレガントではありませんでしたが、紙の上では適切に思えました。
V を 12 桁に書式設定し、小数点とその左側のすべてを削除します。残りを実行し、それがゼロに等しいかどうかを確認します。それはうまくいきましたが、うまくいかず、12 ナインが残りました。
ああ!
それから、小数点以下 12 桁は必ずしも必要ではないかもしれないことに気づきました。実際、INCにあるのと同じ数だけ必要です。
わかりません... ますます乱雑になっています。UPP が巨大で INC が 1000 の場合はどうなりますか? これを行うより賢い方法はありますか?
単純な解決策は、LOW、INC、および UPP に基づいて有効な VAL のリストを生成することでしたが、このような解決策では常に作業メモリが不足する危険があります。
apl - Linux での APL キーマッピング (GNU APL)
私の祖父は、60 年代から 70 年代にかけて IBM で APL プログラマーを務めていました。彼は最近 Linux を使い始めました。私は彼が GNU APL ( http://www.gnu.org/software/apl/ )をセットアップして使用するのを手伝っています。
現時点で私にとって最大の頭痛の種はキーマッピングです。現時点では、問題なく動作する aplwrap GTK+ ( https://github.com/ChrisMoller/aplwrap ) エディターをインストールしましたが、素晴らしいものではありません。LALT + キーまたは LALT + Shift + キーをクリックしたときに機能する APL 文字のグローバル キーマップをセットアップしたいと思います。GNU APL ソース コードで提供されている xmodmap ファイルをいじりましたが、起動時に自動的に実行しようとすると、すべてが台無しになります。
だから、私は2つの質問があります:
APL キーマッピングをグローバルにし、起動時に実行して、手動でオンにする必要がないようにすることは可能ですか?
最初の質問ができない場合、アプリケーションごとにキーマップをセットアップすることは可能ですか? たとえば、Gnome ターミナルと gEdit は APL 文字に LALT キーマッピングを使用しますが、システムの残りの部分は通常どおり動作します。
どうもありがとう。