ベクトル化とは? わかりやすく解説

ベクトル化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/13 01:18 UTC 版)

ナビゲーションに移動 検索に移動

ベクトル化(ベクトルか、: vectorize

  • ベクトル命令化 - コンパイル時にループをベクトル演算命令に変換すること。この項目で説明。
  • ベクトル(1次元配列)の演算をサポートするプログラミング環境で、ループをベクトルに書き換えること
  • 行列(多次元配列)を同じ要素を持つベクトル(1次元配列)に変換すること→行列の一列化
  • 他の形式のデータをベクタ形式データに変換すること

ベクトル化とは、コンピュータプログラムにおいて、繰り返し処理で配列(ベクトル)の要素をひとつひとつ計算しているような部分を、手動あるいはコンパイラで(自動ベクトル化)、ベクトル計算機で高速に演算できるよう変形すること。近年のSIMD演算のための並列化スーパースカラ機でのソフトウェアパイプラインに応用できる内容もある。

High Performance Fortranはこれらの高速化を意識したプログラミング言語である。

ベクトル化の手法

以下ではFortranのコードを例にとって説明する。基本的に、ループ演算を1つのベクトル演算命令にするので、doループがベクトル化対象となる。なお、ベクトル命令に出来るパターンは各機種毎、コンパイラ毎に多少異なる。

単純doループ

たとえば以下のようなdoループは1つのベクトル命令に出来る。

do i = 1, 100
    a(i) = a(i) * b(i)
end do

if文を含むdoループ

以下のような、if文を含むdoループは、それをサポートするハードウェアがあればベクトル化が可能である。

do i = 1, 100
    if (a(i) > 0.0) then
        a(i) = a(i) * 2.0
    end if
end do

この場合、たとえばSXシリーズでは、

  • 配列aの各要素について、if文を満たすか満たさないかを判断するマスクベクトルを作成。
  • マスクが真の部分だけを演算する、ベクトル命令を生成。

という方法でベクトル化を行なう。

多重ループ

多重ループは、全部まとめて1つのベクトル命令を生成することもある。また、効率化をはかるために、内側のループと外側のループを入れ替える場合もある。これは、ベクトル化を行なうためには、データがメモリ上で連続している必要があるからである。 たとえば、二次元配列を演算する場合、内側のループが連続したメモリをアクセスするようになっていない場合には、演算する順番を入れ替えて(すなわちdoループの内側と外側を入れ替えて)ベクトル化が容易になるようにする。

関連項目

参考文献

  • 近藤良三「SXシステムの言語処理系」『NEC技報』第39巻第1号、1986年、 NAID 40004407108

ベクトル化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/12 05:36 UTC 版)

画像スケーリング」の記事における「ベクトル化」の解説

ベクトル抽出、またはベクトル化は、別のアプローチ提供します。ベクトル化は、最初にスケーリングされるグラフィック解像度依存しないベクトル表現作成します次に解像度依存しないバージョンが、目的解像度ラスターイメージとしてレンダリングされますこの手法は、Adobe IllustratorLive Trace、およびInkscape使用されています。スケーラブル・ベクター・グラフィックスは単純な幾何学的画像適しているが、写真は複雑であるため、ベクトル化には適していない。

※この「ベクトル化」の解説は、「画像スケーリング」の解説の一部です。
「ベクトル化」を含む「画像スケーリング」の記事については、「画像スケーリング」の概要を参照ください。

ウィキペディア小見出し辞書の「ベクトル化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ベクトル化」の関連用語

ベクトル化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ベクトル化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのベクトル化 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの画像スケーリング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS