Revise semantics and documentation of Disconnect #3398
Labels
good first issue
Good for newcomers
I: Behavior changes
Introduces changes that produce different results for some users
S: Normal
Handle this with default priority
T: Enhancement
New functionality, model or documentation
Disconnect() needs revision, both the precise call semantics and the documentation. Some tests may then require adjustment.
Consider the following example:
This will create four static and four stdp synapses. Now the following kinds of
Disconnect()
calls are possible:Disconnect(c[2:6])
Disconnect(n, n)
'one-to-one'
rule for disconnectDisconnect(n, n, syn_spec={'synapse_model': 'static_synapse'})
Disconnect(n, n, conn_spec='all_to_all')
Disconnect(n, n, conn_spec='all_to_all', syn_spec={'synapse_model': 'static_synapse'})
{conn,syn}_spec
can be passed as string or dictionary. If passed as dictionary,conn_spec
must give a'rule'
, andsyn_spec
must give a'synapse_model'
. Collocated synapses are not supported.The documentation gives the impression that also other parameters could be passed in the syn_specs and this seems to be possible indeed, but to no effect (they are silently ignored). The idea was, at some point, that one should be able to filter which connections to delete by providing corresponding entries in syn_specs, but this is not supported at present, see
nest-simulator/nestkernel/conn_builder_impl.h
Line 36 in 88c47b9
One interesting use case might be to delete only connections with a specific rport.
To do:
syn_spec
contains other fields than'synapse_model'
(until support for more complex filters is implemented).The text was updated successfully, but these errors were encountered: