MCPcopy Create free account
hub / github.com/Singular/Singular / addCols

Method addCols

kernel/fglm/fglmzero.cc:240–264  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238}
239
240fglmVector
241idealFunctionals::addCols( const int var, int basisSize, const fglmVector v ) const
242{
243 fglmVector result( basisSize );
244 matHeader * colp;
245 matElem * elemp;
246 number factor, temp;
247 int k, l;
248 int vsize = v.size();
249
250 fglmASSERT( currentSize[var-1]+1 >= vsize, "wrong v.size()" );
251 for ( k= 1, colp= func[var-1]; k <= vsize; k++, colp++ ) {
252 factor= v.getconstelem( k );
253 if ( ! nIsZero( factor ) ) {
254 for ( l= colp->size-1, elemp= colp->elems; l >= 0; l--, elemp++ ) {
255 temp= nMult( factor, elemp->elem );
256 number newelem= nAdd( result.getconstelem( elemp->row ), temp );
257 nDelete( & temp );
258 nNormalize( newelem );
259 result.setelem( elemp->row, newelem );
260 }
261 }
262 }
263 return result;
264}
265
266fglmVector
267idealFunctionals::multiply( const fglmVector v, int var ) const

Callers 1

Calls 3

sizeMethod · 0.45
getconstelemMethod · 0.45
setelemMethod · 0.45

Tested by

no test coverage detected