Xiu-zhe (Roger) Luo

Results 505 comments of Xiu-zhe (Roger) Luo

It will be more obvious when you pack a few `instruct` together, e.g using chained put blocks. ```julia using StaticArrays, BenchmarkTools U = @SMatrix rand(ComplexF64, 2, 2) st = rand(ComplexF64,...

But `SMatrix` should be faster ```julia julia> @benchmark foreach(k->instruct3!($st, $U, 2), 1:100) BenchmarkTools.Trial: memory estimate: 80 bytes allocs estimate: 1 -------------- minimum time: 10.900 ns (0.00% GC) median time: 13.812...

I got errors when using the function factor unless I import it explicitly. It is annoying to write this extra line just because of something rarely be used.

From what I see here, you only need to remove the export, and that's all. Is there any external package depends on this? And what I mean is not export...

OK, that sounds reasonable, I would like to keep this function then. But I still feel strange for importing this manually especially this will be in our example. I mean,...

The definition of composition is Block constructed by other blocks. The reason why RotationGate is primitive is because the usually we only use XYZ block and use that as a...

> we can also use SWAP and CNOT (any Hermitian, Reflexive operator) inside a RotationGate. This is also the reason to make it composite, see what I replied above. >...

The only two primitive blocks that remains questionable are `RotationGate` and `TimeEvolution`, but the reason why they are primitive is also simple: - the block inside `RotationGate` is just a...

> Gate Counting and Timing a circuit should be handled as special cases. I think is straight forward, and remember control gate has type parameters, you can/should dispatch it according...

`Daggered` will be part of the symbolic computation (which are all special marks on block and are composite blocks), or it would be hard to optimize things like the following:...