Dear community,
For several years I have been interested in the symbolic analysis techniques for electric circuits and dynamical systems. Symbolic circuit and system analysis may derive analytically the characterizations of a circuit or system in terms of the symbolic parameters. Design tools with such symbolic characterization are considered helpful for the design circuits and systems as well as their controls. The symbolic analysis of circuits is not new and it is well known that approaches within this realm rapidly runs into exponential complexities. This difficulty had existed for many decades but recently the proposal of the determinant decision diagram (DDD) approach [1] promises to more effectively tackle this problem and in consequence to allow for the analysis of larger systems.
With the help of one of my students, we have written a rather non-elegant Mathematica code that implements DDDs based on reference [2] and that I want to share with the community. With the code, I can compute symbolic determinants of full symbolic matrices of orders up to 20 (see the attached notebook). Here is a table that compares computation times (in seconds) using Det[] and the DDD approach.
Matrix Size DDD Det[]
1 0.00025 0.000142
2 0.000492 0.003814
3 0.001067 0.001055
4 0.002543 0.001008
5 0.005993 0.003223
6 0.01444 0.011124
7 0.035979 0.033529
8 0.098193 0.069494
9 0.174683 0.185044
10 0.373661 0.743144
11 0.829874 5.54095
12 2.45478 X
13 4.18714 X
14 9.36342 X
15 21.2237 X
16 45.89 X
17 104.352 X
18 229.908 X
19 550.909 X
20 1576.03 X
X means that Det[] did not finish running.
I would like to improve this code. Any suggestion is very welcome.
Finally, I am wondering if Wolfram Mathematica developers are considering new methods to improve function Det[].
Best regards
Jesus
[1] C. J. R. Shi and X. D. Tan, Canonical symbolic analysis of large analog circuits with determinant decision diagrams, IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 19, no. 1, pp. 118, Jan. 2000. [2] G. Shi, "A simple implementation of determinant decision diagram," 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, 2010, pp. 70-76.
Attachments: