Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.1 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Sparses Matrix > Sparse Matrix Conversion > sparse

sparse

疎行列を定義

呼び出し手順

sp=sparse(X)

sp=sparse(ij,v [,mn])

引数

X

実数または複素数の通常の(または疎)行列

ij

2列の整数行列 (非ゼロエントリのインデックス)

v

ベクトル

mn

2つのエントリ(行の次元, 列の次元c)を有する整数ベクトル

sp

疎行列

説明

sparseは疎行列を作成するために使用されます. ゼロでないエントリのみが保存されます.

sp = sparse(X) は, 0要素を除外することにより,通常の行列を疎行列に変換します. (Xが既に疎行列の場合, spXとなります).

sp=sparse(ij,v [,mn])は, sp(ij(k,1),ij(k,2))=v(k)となる mn(1)mn(2)列の疎行列 を作成します. ij および vは列の次元が 同じである必要があります. オプションのmnパラメータが指定されない場合, 行列spの次元は,それぞれ ij(:,1) および ij(:,2)の 最大値となります.

疎行列に関する操作(結合,加算,等,)は通常の行列と同じ構文により 行ないます.

基本的な関数(abs,maxi,sum,diag,...)は疎行列でも 利用可能です.

(通常の行列と疎行列の)混用も可能です. 結果は処理に応じて通常または疎行列となります.

注意 : 同じ大きさの通常の行列を含む任意の演算は, 引数(例: sp=sparse(d)), または,結果(例 d= sp + 1.) のどちら についても利便性のために提供されていますが,当然避けるべきです. 更に,要素(sp(r,c))へのランダムアクセス, 特に挿入,は効率的ではありません. このため,性能面の制約があるアクセスでは, 読込みアクセスはspget, 書込みアクセスはsp=sparse(ij, v, mn)による バッチ処理により行う必要があります.

sp=sparse([1,2;4,5;3,10],[1,2,3])
size(sp)
x=rand(2,2);abs(x)-full(abs(sparse(x)))
// sparse constructor taking a single dense matrix
// removes the zeros.
dense=[0., 1., 0., 0., 0.,
1., 0., 2., 0., 0.
0., 0., 0., 0., 0.
0., 0., 0., 0., -0.5];
sp=sparse(dense)
// complex matrices are also supported
sp=sparse(dense*(1+2*%i))
// for boolean matrices, the boolean sparse matrix
// only stores true values (and removes false values).
dense=[%F, %F, %T, %F, %F
%T, %F, %F, %F, %F
%F, %F, %F, %F, %F
%F, %F, %F, %F, %T];
sp=sparse(dense)

参照

  • full — 疎行列を通常の行列に変換する
  • spget — 疎行列のエントリを取得
  • sprand — ランダム疎行列
  • speye — 疎単位行列
  • lufact — 疎行列LU分解
Report an issue
<< sp2adj Sparse Matrix Conversion spcompack >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:58:24 CEST 2014