Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Português


sparse

definição de matriz esparsa

Seqüência de Chamamento

sp = sparse(X)
sp = sparse(ij, v)
sp = sparse(ij, v, mn)

Parâmetros

X

matriz completa (ou esparsa) de reais ou complexos

ij

matriz de inteiros de duas colunas (índices das entradas não nulas)

v

vetor

mn

vetor de inteiros com duas entradas (dimensão de linha, dimensão de coluna)

sp

matriz esparsa

Descrição

sparse é usado para construir uma matriz esparsa. Apenas entradas não-nulas são armazenadas.

sp = sparse(X) converte uma matriz completa para sua forma esparsa retirando qualquer elemento nulo. (Se X já é esparsa sp é X).

sp=sparse(ij,v [,mn]) constrói uma matriz esparsa mn(1)-por-mn(2) sparse matrix com sp(ij(k,1),ij(k,2))=v(k). ij e v devem ter a mesma dimensão de coluna. Se o parâmetro opcional mn não for dado, as dimensões da matriz sp são os valores máximos de ij(:,1) e ij(:,2) respectivamente.

  • For the building syntaxes, if several values are given for a same ij position, the sum of theses values is assigned.
  • sparse([],[]) yields the (0, 0) zero sparse matrix, with sparse([],[]) ~= [].
Operating sparse matrices

Operações (concatenação, adição, etc,) com matrizes esparsas são feitas usando a mesma sintaxe para matrizes completas.

Funções elementares também estão disponíveis (abs, min, max, sum, diag,...) para matrizes esparsas.

Operações mistas (completas-esparsas) são permitidas. Os resultados são completos ou esparsos dependendo das operações.

Exemplos

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)

Histórico

VersãoDescrição
6.0.2 sparse([],[]) now yields the "(0,0) zero sparse matrix" instead of [].
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:
Tue Oct 24 14:35:26 CEST 2023