MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / getExponentialOfDiagonalMatrix

Function getExponentialOfDiagonalMatrix

tests/deprecated/test_utilities.cpp:310–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

308}
309
310QMatrix getExponentialOfDiagonalMatrix(QMatrix a) {
311
312 // ensure diagonal
313 for (size_t r=0; r<a.size(); r++)
314 for (size_t c=0; c<a.size(); c++) {
315 if (r == c)
316 continue;
317 DEMAND( real(a[r][c]) == 0. );
318 DEMAND( imag(a[r][c]) == 0. );
319 }
320
321 // exp(diagonal) = diagonal(exp)
322 QMatrix diag = a;
323 for (size_t i=0; i<a.size(); i++)
324 diag[i][i] = exp(diag[i][i]);
325
326 return diag;
327}
328
329QMatrix getExponentialOfPauliMatrix(qreal angle, QMatrix a) {
330 QMatrix iden = getIdentityMatrix(a.size());

Callers 1

test_unitaries.cppFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected