Eu estava tentando executar casos de teste para CG e preciso gerar:
- matrizes definidas positivas simétricas
- de tamanho> 10.000
- DENSA COMPLETA
Usando apenas índices de matriz e, se necessário, 1 vetor (Como )
Com número de condição menor que 1000.
Eu tentei:
Gerando matrizes aleatórias usando
A=rand(N,N)
e, em seguida,A'A
para torná-lo Sym. PD. [Isso aumenta o número da condição]Usando o vetor appraoch como mostrado, mas não consigo obter uma função
(x,i,j)
que garanta o Sym e o PD.
Depois de muita experimentação, criei:
a(it,jt) = (vec(it)+vec(jt))/((it-1)^2+(jt-1)^2);
Se
a(it,it) = x(it)
se
Mas isso é PD até cerca de 500x500.
- XLATMR . [Com toda a classificação e redimensionamento, é muito difícil de entender. Especialmente porque eu não consigo entender a álgebra linear subjacente]
Alguém pode me dar uma função em x (vetor) ei, j (índices) que atenda aos requisitos acima?
a+N*eye(N,N)
garantirá que funcionará para todos os valores além de 5000? Você pode converter seu comentário em uma resposta?