Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Qchem-ops broadcasting support (#2726)
* introduce Operator.ndim_params, Operator.batch_size, QuantumTape.batch_size * linting * changelog * enable tf.function input_signature usage * black * test for unsilenced error * Apply suggestions from code review Co-authored-by: Josh Izaac <josh146@gmail.com> * introduce device flag and batch_transform for unbroadcasting; use transform in device.batch_transform * black, [skip ci] * code review * string formatting [skip ci] * operation broadcasting interface tests * unbroadcast_expand * tests for expand function * tests * black * compatibility with TensorFlow 2.6 * builtins unstack * failing case coverage * stop using I in operation.py [skip ci] * commit old changes * Apply suggestions from code review Co-authored-by: Josh Izaac <josh146@gmail.com> * intermed * review * Apply suggestions from code review Co-authored-by: Josh Izaac <josh146@gmail.com> * review [skip ci] * move changelog section from "improvements" to "new features" * changelog * add missing files * clean up, move broadcast dimension first * namespace * linting variable names * update tests that manually set ndim_params for default ops * pin protobuf<4.21.0 * improve shape coersion order * first features * fix sample selection * pin protobuf<4.21.0 * changelog formatting * more testing, better batch_size * fix tf function batch_size * broadcasted pow tests * attribute test, ControlledQubitUnitary update * more tf support * test kwargs attributes * Apply suggestions from code review Co-authored-by: Josh Izaac <josh146@gmail.com> * changelog * review * remove prints * explicit attribute supports_broadcasting tests * tests disentangle * fix * PauliRot broadcasted identity compatible with TF * rename "batched" into "broadcasted" for uniform namespace * old TF version support in qubitunitary unitarity check * python3.7 support * extend support, flip flag * fix _apply_unitary when applying unbroadcasted operator to broadcasted state * tests default_qubit * speed up _get_batch_size by a factor 10 * [skip ci] ndim adaptation, fix dimension in _get_bathc_size call * default qubit additional broadcasting support * default_qubit broadcasted tests start * most of test suite * black * complete default qubit tests (without interfaces) * tmp autograd done, jax partially * tf tests * testing * black * linting * tests * black * tf fix * minor changes * use get_batch_size * some TF tests * tf test finished * torch tests * changelog * move _get_batch_size to DefaultQubit, give QubitDevice dummy _get_batch_size, tests * linting, old tf version support * test coverage * test fix * mark jax test * self- review * Apply suggestions from code review * typo * changelog example * speedup par ops * qchem matrices * parametric ops eigvals * linting * lint * changelog * id addition * isingxy * isingxy tests * black * mention speedup in changelog * singleexcitation fix * add ndim_params properties and add qchem ops to attribute * attribute and test * Revert "merge" This reverts commit 55cb10d, reversing changes made to 1cac187. * mask lookups * black * remove unnecessary eigvals * remove speedups to put them in separate PR * tmp * converged matrix methods, priority for scalar speedups * black * lint * exclude isingxy changes (duplicate from #2759) * revert generator changes * dtype namespace * unfying functions for qchem compute_matrix methods in Single- and DoubleExcitations * black Co-authored-by: Josh Izaac <josh146@gmail.com>
- Loading branch information