MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Circuit gains

Hello all,

I am working on expressing the outcome of a characteristic polynomial in  
circuit gains.

The gains are independent, however certain "entities" are common. This is  
expected and should result into more simple functions for the gains,  
however I cannot seem to achieve a "simple" substitution rule without  
getting into complex combinatorics.

I want to avoid resorting into designing a combinatoric algorithms (as I  
will need to solve performance issues) and I am wondering if I am not  
missing the "obvious" solution.

M is a matrix, a,b,c are functions however are not evaluated at this stage.

I use Solve[CharacteristicPolynomial[M, lambda], lambda]] to derive  
something I am simplifying here for illustratory purposes (in reality this  
needs to work for systems with a rank of up to one-thousand:

{{Lambda -> 1/(ab)}, {Lambda -> -1/(ab)}, {Lambda -> 1/c}}

Then I simplify using:
/. {1/b-> gain1, 1/c-> gain2, 1/(ab) -> gain3};
resulting in
{{Lambda -> gain1/b}, {Lambda -> -gain3}, {Lambda -> gain2}}

Please note there is a 1/b remaining in the first Lambda that should not be  
there as I can achieve full reduction into gains when using the same  
simplification rules in a different order.
/. {1/(ab) -> gain3, 1/b-> gain1, 1/c-> gain2};
resulting in a full reduction (b remained in previous solution is now  
expressed in gain as well) into gain formula's
{{Lambda -> gain3}, {Lambda -> -gain3}, {Lambda -> gain2}}

The design of the system is such that it should be reduced to "gain only"  

The replacement rules are generated by an algorithm that calculates the  
gains of circuit components and I do not think I can do this in such a way  
that I can arrive at a specific ordering that will guide me to  
automatically resolve into a full reduction; so I am looking for something  
that will do an intellignet replace in such a way that the full reduction  
is made.

This should be a fairly common feature so I am hoping there is a simple  
Mathematica (combination of) command for this.

Much appreciated!


  • Prev by Date: Re: Newby Q: How to specify reals
  • Next by Date: Re: Creating sub-list based on a given criterion
  • Previous by thread: Particle Filters
  • Next by thread: Absolute value