Message Boards Message Boards

1
|
4244 Views
|
2 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Determinant Decision Diagrams

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. 1–18, 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:
2 Replies

If I follow correctly, this works by recursively memoizing cofactor determinants, Internally, Det does this up to dimension 11. It changes over to a row reduction-based method after that so as to avoid excessive memory consumption.

POSTED BY: Daniel Lichtblau

Thanks, Daniel,

Effective computation of symbolic matrices may able many engineering applications such as model predictive control where parametrized solutions may be used to speed up predictions of future responses of a system. I think Mathematica is an appropriate framework to implement DDD algorithms. Hopefully, there is someone out there to share more comments about this matter. Cheers

Jesus

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract