matrix-multiplication

    0

    1答えて

    私が望むような関数を作成するのに問題があります。私は長さNのベクトルを受け入れるとNxN行列を生成する無名関数を作成しようとしています。私は行列の各要素(すなわち、ループ)を設定したいと思います。具体的には、短い例: N = 2; Qjk = @(x,y) x * y; for j = 1:N for k = 1:N Q(j,k) [email protected](x

    0

    1答えて

    だから私はストラッセンの行列乗算アルゴリズムは、複雑さはO(n^2.8) を持っていますが、Aはn×nのであり、AはMXNがある 何 場合Bはn×nのであればそれだけで動作することを読んでそしてBはnxo であり、mは、NおよびOよりもはるかに大きいですが、NおよびOは、まだ私は、このような行列の乗算をそれほど必要とするプロジェクトをやって ゼロで パディングが乗算に時間がかかるになるかもしれない

    6

    1答えて

    合計または要素ごとの乗算に対して、(A、dim)またはprod(A、dim)演算と同様に、シーケンシャル行列乗算を行う方法を検索しました。例えば : A = arrayfun(@(x) rand(5), 1:n, 'UniformOutput', false); P = A{1} * A{2} * ... * A{n}; % <-- search for an elegant way to do

    0

    1答えて

    gluLookatとglMultmatrixfで構築されたカメラの実装を変更する必要があります。 実装されたカメラは、カメラがあるポイントを中心に回転するアークボールカメラです。カメラの 向き //set projection glMatrixMode(GL_PROJECTION); gluPerspective (..); //modelview glMatrixMode(GL_MODE

    0

    2答えて

    私の関数では、独立した要素の賢明な行列乗算がたくさんあります。それらを並行して計算する方法はありますか? これらはすべて非常に単純な操作ですが、実行時間の70%はこれらの部分のコードです。この機能は何百万回も呼び出されるためです。 function [r1,r2,r3]=backward(A,B,C,D,E,F,r1,r2,r3) r1=A.*B; r2=C.*D; r3=E*F; end

    3

    1答えて

    Fortran BLAS gemm関数を使用して行列乗算を実行しようとしています。hereを参照してください。 この関数のシグネチャは、すべてのパラメータの意味が上記のリンクにあります。 call sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) 私の問題は、私が代わりにFortranの連続的なもののC-連続

    0

    1答えて

    私のコードは正しく実行されなければならないと思いますが(論理的ですが)、最後のループでは減分命令が機能せず、プログラムは無限ループに入ります。あなたはあなたのプログラムのデータセクションにバッファ命名結果を入れている ; multi-segment executable file template. data segment matrix1 db 1,2,3,4,5,6,7,8,9 mat

    1

    1答えて

    私は有限差分法プログラムを書いています。 私はIntel Math Kernel Libraryを使用しています。 たとえば、1000x1000の行列Aと1000x1000の行列B. インテルMKLでは、cblas_dgemm()関数を使用するA * Bは約600ミリ秒かかりました。 MATLABでは、A * Bに約800ミリ秒かかりました。 私はMKLが非常に速いと思った。 しかし、1000×1

    2

    1答えて

    行列サイズ48x16の浮動小数点数と浮動ベクトルbサイズ1x48のベクトルを考えてみましょう。 一般的なデスクトップ・プロセッサー(のi5/i7プロセッサー)にB×できるだけ速くを計算する方法を提案してください。 背景。 上記の製品はタイトループであるため、高速計算が不可欠です。現時点では私は、次のナイーブアルゴリズムで働いています:私はMKLのSGEMVに、後SGEMMになく、無駄に乗算をオフロ

    2

    1答えて

    私は、2つのnumpyのアレイを有するm1とm1サイズ(NX1)とm2サイズ(の1xN)であり、Iは、サイズの行列mもたらす乗算m1.dot(m2)を実行する(N×N個) あるm2私がしたいですm1およびm2の中で最も高いk個の要素を使用し、他のすべての要素を0(すべての要素が正である)にすることによって、おおよそm_approxを計算します。 私のためにサイズnが大きい(〜10k)ので、私は乗算