Menu

#49 Clean up and unify the propagators

0.1.1
done
nobody
None
nobody
2015-03-31
2014-10-03
No

Three tasks actually:

  • clean up the OperatorMatrix. Basically, update it, add required functions etc., so that it feels easy and natural to use in practice.
  • join Propagators and MultiPropagators. Basically, everything should be a MultiPropagator. However, the setup should be reasonably simple, if necessary also optimized, for problems where you would normally use a Propagator.
  • Update the PropagationManager/Observer(s) to work with MultiPropagators.

Discussion

  • Anonymous

    Anonymous - 2014-10-11
    • Milestone: 0.1 --> Backlog
     
  • Anonymous

    Anonymous - 2014-11-18
    • Milestone: Backlog --> 0.1.1
     
  • Anonymous

    Anonymous - 2014-11-19
    • status: open --> assigned
    • assigned_to: osource12345
    • Owner2: Ulf Lorenz
     
  • Anonymous

    Anonymous - 2014-11-19

    Chat summary:

    • OperatorMatrix gets a new constructor that takes a single operator
      and sets up a 1x1 matrix with this operator (to handle the trivial
      case)
      • invalid_argument exception if the operator is null
    • OperatorMatrix gets a new constructor that takes a vector of vectors
      of operators (rows in the matrix), and sets up the operator
      • invalid_argument exception if all operators null
      • invalid_argument exception if matrix not quadratic
      • invalid_argument exception if wrong number of operators in a row
    • add a new static variable that represents a null operator (null
      pointer); supplying this operator in the second constructor signals
      that this cell of the matrix is the zero operator.
    • add a function getSize() to return the size of the OperatorMatrix
    • add a function getOperator(uint row, uint column) that returns the
      appropriate operator in this cell of the matrix
     
  • Anonymous

    Anonymous - 2015-02-15

    Chat summary:

    • Add time test in OperatorMatrixTest
      • set up a simple functor (t -> t) and use TimeFunction as a test operator
      • set up a testing matrix and check that the operator is applied correctly
    • MultiPropagator gets a convenience function that passes a single state
      • throws exception if the OperatorMatrix is not a 1x1 matrix
      • otherwise, processes this as a size-1 vector
    • PropagationManager takes a MultiPropagator instead of a Propagator
      • retain convenience function that takes a single state
      • add function that takes a vector of states
    • PropagationObserver takes vector of states
      • update the LoggingOutput to do something sane; whatever that is
    • update demos
    • replace Propagator everywhere by MultiPropagator
    • remove Propagators, rename MultiPropagators to Propagators
     
  • Anonymous

    Anonymous - 2015-03-31
    • status: assigned --> done
    • assigned_to: osource12345 --> nobody
    • Owner2: Ulf Lorenz --> nobody
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.