答えて
が密な配列を作成し、それが非正方形になります
julia> M = 4; N = 3;
[i==j ? 1 : i==j+1 ? -1 : 0 for i = 1:M, j=1:N]
4x3 Array{Int64,2}:
1 0 0
-1 1 0
0 -1 1
0 0 -1
それとも、正方行列のためBidiagonal
を使用することができます。
julia> M = 4;
Bidiagonal(ones(Int, M), -ones(Int, M-1), false) # false means that it's not an upper-diagonal
4x4 Bidiagonal{Int64}:
1 0 0 0
-1 1 0 0
0 -1 1 0
0 0 -1 1
後者ありより効率的になるような特殊な線形代数法があります。
答えをいただきありがとうございます.Bidiagonal()は正方行列でしかないと言っていますか?だから、もし私が4x3の理解をしたいのであれば、理解することができるのですか? – nicolasdavid
はい、正確です。 –
今はちょっと遅いと知っていますが、あなたが本当に大きくなる必要がある場合、私はより速い方法を持っています。あなたたとえば、私は、関数を書いた:
function Bi_diag(M,N,d1,d2)
A = zeros(M,N);
A[1:M+1:end] = d1;
A[2:M+1:end] = d2;
return A
end
これは、はるかに速く、あなたの小さな例えば大きな行列を作るために必要がある場合は、上記の例よりもある:M = 4、N = 3、D1 = 1、D2 = -1となる。一般に、A [1:M + 1:end] = dを使用するのは、主対角線を埋めるための速い方法です。下の対角線を埋めるには、下の対角線の最初の要素(例2)から始まり、上の対角線を埋めるためにM + diagに行きます。ここでdiagは、あなたが書きたい上の対角の番号です。あなたの小さな例では、メイン対角線の上の最初の対角線を埋めるために、A [M + 1:M + 1:end] = d3となります。 また、私の関数を使用すると、すべて同じではない値を入れることができます(同じ数字の代わりにさまざまな数の対角線を塗りつぶします)。
- 1. 二重キー付きコレクションを作成する
- 2. 二重リンクリストを作成できない
- 3. 疎行列の行から疎な対角行列を作成する
- 4. 対角要素が行列である行列を作成します。
- 5. ラジオボタン付き角度リピートテーブルの行
- 6. 使用する二重括弧{{}}角度ドキュメントから撮影angularJS
- 7. 二重解像度でスクリーンキャプチャを取得する方法は?
- 8. 角度付きファイルダウンロードリンク
- 9. 列のブロック対角行列
- 10. 対角行列を持つドット積、完全な行列を作成しない
- 11. gnuパラレルでの二重引用符の二重対の衝突
- 12. Railsの角度付きブートストラップカスタムテンプレート
- 13. 角を任意の角度で作成する
- 14. Markerclusterカスタムアイコンスタイリング付き角度リーフレット
- 15. 二重にリンクされた循環リストを理解する
- 16. CSSで二重の罫線を作成することはできますか?
- 17. 非対角要素の制約付き擬似ランダム正定行列を生成する方法は?
- 18. 解凍ジュリア
- 19. Java命令付き二重リンクリストプログラム
- 20. JSONオブジェクトを角度クラスに分解する角度2
- 21. メイン対角の上に1をつけた対角行列を生成するPythonコード
- 22. サービスを作成するときに不明なプロバイダ - 角度
- 23. 別のコントローラー内の角度付きコントローラー
- 24. ブートストラップ角度モーダル荷重
- 25. CSSダッシュと角度付きの枠線
- 26. 角度付きng-repeat複数行のテーブル
- 27. テスト仕様書を条件付きで実行する方法 - 角度プロトラクタージャスミン
- 28. numpyで行列の対角の値を変更する
- 29. 高さの角度付きアニメーション:auto;動作しません
- 30. Matlab内の対角線からの再構成行列
理解を使用する特別な理由はありますか? – DSM
もし私がそれを知ってうれしくなるより良い方法があれば。私は二重対角関数を見つけましたが、この行列を関数または理解なしで暗くする方法は(100,100)です。 – nicolasdavid