Lines Matching refs:A
67 A = self.A = PETSc.Mat().create(comm=COMM)
68 A.setType(self.TYPE)
69 A.setSizes([rowsz, colsz], BS)
72 self.A.destroy()
73 self.A = None
78 self.A.setPreallocationNNZ(nnz)
79 self._chk_bs(self.A, self.BSIZE)
81 self.A.setOption(opt, True)
83 self.A.assemble()
84 self._chk_aij(self.A, ai, aj)
86 self.A.setOption(opt, True)
88 self.A.assemble()
89 self._chk_aij(self.A, ai, aj)
95 self.A.setPreallocationNNZ(nnz)
96 self._chk_bs(self.A, self.BSIZE)
98 self.A.setOption(opt, True)
100 self.A.assemble()
101 self._chk_aij(self.A, ai, aj)
103 self.A.setOption(opt, True)
105 self.A.assemble()
106 self._chk_aij(self.A, ai, aj)
109 if 'is' in self.A.getType():
113 self.A.setPreallocationCSR(csr)
114 self._chk_bs(self.A, self.BSIZE)
115 self._chk_aij(self.A, ai, aj)
117 self.A.setOption(opt, True)
119 self.A.assemble()
120 self._chk_aij(self.A, ai, aj)
122 self.A.assemble()
123 self._chk_aij(self.A, ai, aj)
126 if 'is' in self.A.getType():
130 self.A.setPreallocationCSR(csr)
131 self._chk_bs(self.A, self.BSIZE)
132 self._chk_aij(self.A, ai, aj)
134 self.A.setOption(opt, True)
136 self.A.assemble()
137 self._chk_aij(self.A, ai, aj)
139 self.A.assemble()
140 self._chk_aij(self.A, ai, aj)
145 self.A.setOption(opt, True)
147 self.A.assemble()
148 self._chk_aij(self.A, ai, aj)
150 self.A.setOption(opt, True)
152 self.A.assemble()
153 self._chk_aij(self.A, ai, aj)
158 self.A.setOption(opt, True)
160 self.A.assemble()
161 self._chk_aij(self.A, ai, aj)
163 self.A.setOption(opt, True)
165 self.A.assemble()
166 self._chk_aij(self.A, ai, aj)
169 if 'is' in self.A.getType():
173 A = self.A
174 A.assemble()
175 if 'sbaij' in A.getType():
177 self.A.setOption(opt, True)
178 ai, aj, av = A.getValuesCSR()
179 rstart, rend = A.getOwnershipRange()
181 cols, vals = A.getRow(row)
189 A = self.A
190 A.assemble()
191 A.convert('same')
196 A = self.A
197 A.assemble()
198 x, y = A.getVecs()
201 A.mult(x, y)
202 if A.type.endswith('sbaij'):
205 A.convert('dense', B) # initial
208 A.convert('dense', B) # reuse
211 A.convert('dense') # inplace
212 A.mult(x, z)
218 A = self.A
219 A.assemble()
220 x, y = A.getVecs()
223 A.mult(x, y)
224 if A.type.endswith('sbaij'):
227 A.convert('aij', B) # initial
230 A.convert('aij', B) # reuse
233 A.convert('aij') # inplace
234 A.mult(x, z)
238 if 'is' in self.A.getType():
242 self.A.assemble()
243 B = self.A.getDiagonalBlock()
244 self.assertEqual(self.A.getLocalSize(), B.getSize())
248 if 'is' in self.A.getType():
256 rbs, cbs = self.A.getBlockSizes()
260 self.A.assemble()
261 self.A.shift(1000) # Make nonsingular
262 ibdiag = self.A.invertBlockDiagonal()
263 bs = self.A.getBlockSize()
264 m, _ = self.A.getLocalSize()
267 rstart, rend = self.A.getOwnershipRange()
271 vals = self.A.getValues(rows, cols)
276 if 'baij' in self.A.getType():
280 self.A.assemble()
282 rs, re = self.A.getOwnershipRange()
283 cs, ce = self.A.getOwnershipRangeColumn()
286 rows = PETSc.IS().createGeneral(rows, comm=self.A.getComm())
287 cols = PETSc.IS().createGeneral(cols, comm=self.A.getComm())
289 S = self.A.createSubMatrix(rows, None)
291 self.A.createSubMatrix(rows, None, S)
294 S = self.A.createSubMatrix(rows, cols)
296 self.A.createSubMatrix(rows, cols, S)
300 if 'baij' in self.A.getType():
302 if 'is' in self.A.getType():
306 self.A.assemble()
308 rs, re = self.A.getOwnershipRange()
309 cs, ce = self.A.getOwnershipRangeColumn()
312 rows = PETSc.IS().createGeneral(rows, comm=self.A.getComm())
313 cols = PETSc.IS().createGeneral(cols, comm=self.A.getComm())
315 (S,) = self.A.createSubMatrices(rows, cols)
317 self.A.createSubMatrices(rows, cols, submats=[S])
320 (S1,) = self.A.createSubMatrices([rows], [cols])
321 (S2,) = self.A.createSubMatrices([rows], [cols])
324 self.A.createSubMatrices([rows], [cols], [S2])
329 if 'seq' not in self.A.getType():
331 S1, S2 = self.A.createSubMatrices([rows, rows], [cols, cols])
335 self.A.createSubMatrices([rows, rows], [cols, cols], [S1, S2])
341 if 'aijcrl' in self.A.getType():
343 if 'mpisbaij' in self.A.getType():
345 if 'is' in self.A.getType():
349 self.A.assemble()
351 sizecommA = self.A.getComm().getSize()
352 Ared = self.A.getRedundantMatrix(sizecommA)
360 self.A.assemble()
361 A = self.A
362 AT = PETSc.Mat().createTranspose(A)
363 x, y = A.createVecs()
367 A.multTranspose(y, x)
373 A.mult(x, y)
387 self.A.setPreallocationNNZ([5, 2])
397 setvalues = self.A.setValues
399 setvalues = self.A.setValuesBlocked
408 setvalues = self.A.setValuesIJV
410 setvalues = self.A.setValuesBlockedIJV
415 def _chk_bs(self, A, bs): argument
416 self.assertEqual(A.getBlockSize(), bs or 1)
418 def _chk_bsizes(self, A, bsizes): argument
423 self.assertEqual(A.getBlockSizes(), (rbs, cbs))
425 def _chk_aij(self, A, i, j): argument
427 ai, aj = A.getRowIJ(compressed=compressed)
431 ai, aj = A.getColumnIJ(compressed=compressed)
655 def _chk_aij(self, A, i, j): argument
656 ai, aj = A.getRowIJ(compressed=True)
661 ai, aj = A.getColumnIJ(compressed=True)
838 self.A.setOption(opt, True)
840 self.A.assemble()
841 self._chk_aij(self.A, ai, aj)
843 self.A.setOption(opt, True)
845 self.A.assemble()
846 self._chk_aij(self.A, ai, aj)
851 self.A.setOption(opt, True)
853 self.A.assemble()
854 self._chk_aij(self.A, ai, aj)
856 self.A.setOption(opt, True)
858 self.A.assemble()
859 self._chk_aij(self.A, ai, aj)
862 self.A.setPreallocationNNZ([5 * self.BSIZE, 3 * self.BSIZE])
863 self._chk_bs(self.A, self.BSIZE)
865 def _chk_aij(self, A, i, j): argument
866 ai, aj = A.getRowIJ()
871 ai, aj = A.getColumnIJ(compressed=bool(self.BSIZE))
1036 self.A.setPreallocationNNZ([5 * rbs, 3 * cbs])
1037 self._chk_bsizes(self.A, self.BSIZE)
1054 self.A.setOption(opt, True)
1056 self.A.assemble()
1057 self._chk_aij(self.A, ai, aj)
1059 self.A.setOption(opt, True)
1061 self.A.assemble()
1062 self._chk_aij(self.A, ai, aj)
1067 self.A.setOption(opt, True)
1069 self.A.assemble()
1070 self._chk_aij(self.A, ai, aj)
1072 self.A.setOption(opt, True)
1074 self.A.assemble()
1075 self._chk_aij(self.A, ai, aj)
1077 def _chk_aij(self, A, i, j): argument
1078 ai, aj = A.getRowIJ()
1083 ai, aj = A.getColumnIJ()