From c1f89132ee97c6c190cfa09f64a06b98e15b7d99 Mon Sep 17 00:00:00 2001 From: John Lapeyre Date: Tue, 23 Jan 2024 23:37:47 -0500 Subject: [PATCH] Increase faer version and remove some cruft * We introduced to_num_complex, but this required upgrading faer. We chose 0.15 * Upgrade our code, in turn, for the upgrade to faer 0.15 * Remove a function exported via pyo3 that was only used for testing --- Cargo.lock | 366 +++++++++++++++---- crates/accelerate/Cargo.toml | 4 +- crates/accelerate/src/two_qubit_decompose.rs | 17 +- 3 files changed, 302 insertions(+), 85 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 89a3c5c634b2..ed72541815f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,10 +49,19 @@ checksum = "6c55bdf3e6f792f8f1c750bb6886b7ca40fa5a354ddb7a4dee550b93985a9235" dependencies = [ "proc-macro2", "quote", - "rustc_version", + "rustc_version 0.4.0", "syn 1.0.109", ] +[[package]] +name = "autocfg" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -88,7 +97,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.48", ] [[package]] @@ -97,6 +106,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "coe-rs" version = "0.1.2" @@ -120,7 +138,7 @@ version = "0.9.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d" dependencies = [ - "autocfg", + "autocfg 1.1.0", "cfg-if", "crossbeam-utils", ] @@ -140,6 +158,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "dbgf" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e8ca49a64a84b13276067a894854fd56c571971976e2f2d179b99fe894b2f7" + [[package]] name = "dyn-stack" version = "0.10.0" @@ -174,12 +198,12 @@ dependencies = [ [[package]] name = "faer" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4905b6836d612c74917cf9f61e80c4414e206ca4c9dc916dd899417432701807" +checksum = "31bba601a75b39da36fae2e92186f9db83cb7c63a8271cf1dc489c1de7380cbb" dependencies = [ - "assert2", "coe-rs", + "dbgf", "dyn-stack", "faer-cholesky", "faer-core", @@ -197,11 +221,10 @@ dependencies = [ [[package]] name = "faer-cholesky" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ba86ddc423b96a98894380a46837ac1632cb246b235dadd3809ba50af2aa01" +checksum = "5ac614eed0cbf2cc05e3245052bbb196601884d6423672210cc0adf0c47fa328" dependencies = [ - "assert2", "bytemuck", "dyn-stack", "faer-core", @@ -215,9 +238,9 @@ dependencies = [ [[package]] name = "faer-core" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d28e2a6201b308ca0a9deab31dd78c7a082def44e570794e0f31f988ed96a65" +checksum = "c06958f8e82aefdf7564baa76f9094c36bcfdb2c1e69bd8097ff1f9e83c3c78d" dependencies = [ "assert2", "bytemuck", @@ -237,9 +260,9 @@ dependencies = [ [[package]] name = "faer-entity" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae358f623e3fa5a60651fa6f9c4fc81281e654777aef27c4103b14180e75073" +checksum = "b5a909dcb9287b8f3e658c711ca93a4c5761262a6233dc6ac0230ba40bba9465" dependencies = [ "bytemuck", "coe-rs", @@ -252,11 +275,10 @@ dependencies = [ [[package]] name = "faer-evd" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70fa81fc2e9c96552fa46656409825927bdb4913fd750e401d6583463fe9bfbd" +checksum = "ae1e892668c4b1ed2a8df9a2f696ee4055b1cb1366f8926177f4d64c8e56b214" dependencies = [ - "assert2", "bytemuck", "coe-rs", "dyn-stack", @@ -272,30 +294,30 @@ dependencies = [ [[package]] name = "faer-lu" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa5d26339325fa0b24ea40a61e4e15f6cb89e91610eba9a15729481af805ce0f" +checksum = "25efab53c8d22da197966185f3d3e2d70d3d65215efec4c50268e9bcadb755b8" dependencies = [ - "assert2", "bytemuck", "coe-rs", "dyn-stack", "faer-core", "faer-entity", + "hurdles", "num-complex", "num-traits", "paste", "pulp", + "rayon", "reborrow", ] [[package]] name = "faer-qr" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff6ff0677f5083194ff312267586f53ce0894cdf816633f604b752928ae9ec7" +checksum = "a04e83ae623f2d42d4f61dc555942e78bc08669330ce9010dbbfc3655a8206a0" dependencies = [ - "assert2", "bytemuck", "coe-rs", "dyn-stack", @@ -310,11 +332,10 @@ dependencies = [ [[package]] name = "faer-svd" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cfef5577af1a6679d91087d1076b4c917461743c69ccd8b2feae435746255a7" +checksum = "b0da6648b7bd79a8ca835d8d92674eff978610733ef6ba8238045c3c0e3c8151" dependencies = [ - "assert2", "bytemuck", "coe-rs", "dyn-stack", @@ -333,11 +354,17 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + [[package]] name = "gemm" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d95fc1fc8faee5a31ab9e21c561c7006f2cc97efeea4e00d029da1af540227" +checksum = "5b3afa707040531a7527477fd63a81ea4f6f3d26037a2f96776e57fb843b258e" dependencies = [ "dyn-stack", "gemm-c32", @@ -355,9 +382,9 @@ dependencies = [ [[package]] name = "gemm-c32" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856170e9e413042cee3b664737cea7996c538687f2bd4a2a951e1a1c27fa9b33" +checksum = "1cc3973a4c30c73f26a099113953d0c772bb17ee2e07976c0a06b8fe1f38a57d" dependencies = [ "dyn-stack", "gemm-common", @@ -370,9 +397,9 @@ dependencies = [ [[package]] name = "gemm-c64" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0275c3bdc3ae4a63f23cf03c308c39601dada6c3b729c31060bf98fa7a6574e4" +checksum = "30362894b93dada374442cb2edf4512ddf19513c9bec88e06a445bcb6b22e64f" dependencies = [ "dyn-stack", "gemm-common", @@ -385,9 +412,9 @@ dependencies = [ [[package]] name = "gemm-common" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a96a69f9745e5254447e4d707b303df5ac427152720bd8d3bfb03499793754" +checksum = "988499faa80566b046b4fee2c5f15af55b5a20c1fe8486b112ebb34efa045ad6" dependencies = [ "bytemuck", "dyn-stack", @@ -404,9 +431,9 @@ dependencies = [ [[package]] name = "gemm-f16" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677148cc406d693e312ac44327612075a0fd2ea97607d5f0ee45ccec78846296" +checksum = "d6cf2854a12371684c38d9a865063a27661812a3ff5803454c5742e8f5a388ce" dependencies = [ "dyn-stack", "gemm-common", @@ -422,9 +449,9 @@ dependencies = [ [[package]] name = "gemm-f32" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b447dff92aae7eeba1028275121d45f1eeecb6bfac7ef647b9e2c84d9531824" +checksum = "0bc84003cf6d950a7c7ca714ad6db281b6cef5c7d462f5cd9ad90ea2409c7227" dependencies = [ "dyn-stack", "gemm-common", @@ -437,9 +464,9 @@ dependencies = [ [[package]] name = "gemm-f64" -version = "0.16.12" +version = "0.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6050edf1e4df730a1a65a790c80eb76b5b68e2a0d576bcd45f345843d8fd4f9" +checksum = "35187ef101a71eed0ecd26fb4a6255b4192a12f1c5335f3a795698f2d9b6cf33" dependencies = [ "dyn-stack", "gemm-common", @@ -502,13 +529,22 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +[[package]] +name = "hurdles" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba5e73f01210432a38cc5759c70ebd0ec3281891f3895a5aa01d70bd168f9c4" +dependencies = [ + "parking_lot_core 0.4.0", +] + [[package]] name = "indexmap" version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg", + "autocfg 1.1.0", "hashbrown 0.12.3", ] @@ -573,7 +609,7 @@ version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ - "autocfg", + "autocfg 1.1.0", "scopeguard", ] @@ -599,17 +635,23 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" dependencies = [ - "autocfg", + "autocfg 1.1.0", "rawpointer", ] +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + [[package]] name = "memoffset" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ - "autocfg", + "autocfg 1.1.0", ] [[package]] @@ -646,7 +688,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ - "autocfg", + "autocfg 1.1.0", "num-integer", "num-traits", ] @@ -667,7 +709,7 @@ version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ - "autocfg", + "autocfg 1.1.0", "num-traits", ] @@ -677,7 +719,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ - "autocfg", + "autocfg 1.1.0", "num-integer", "num-traits", ] @@ -688,7 +730,7 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ - "autocfg", + "autocfg 1.1.0", "libm", ] @@ -720,7 +762,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" +dependencies = [ + "libc", + "rand 0.6.5", + "rustc_version 0.2.3", + "smallvec 0.6.14", + "winapi", ] [[package]] @@ -732,7 +787,7 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "smallvec", + "smallvec 1.11.2", "windows-targets", ] @@ -764,7 +819,7 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fff39edfcaec0d64e8d0da38564fad195d2d51b680940295fcc307366e101e61" dependencies = [ - "autocfg", + "autocfg 1.1.0", "indexmap 1.9.3", ] @@ -779,13 +834,14 @@ dependencies = [ [[package]] name = "pulp" -version = "0.16.3" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f409ff823a19c749a4723f6faeef67ff0a15234b33d1f001182fc39078458bc6" +checksum = "16785ee69419641c75affff7c9fdbdb7c0ab26dc9a5fb5218c2a2e9e4ef2087d" dependencies = [ "bytemuck", "libm", "num-complex", + "reborrow", ] [[package]] @@ -838,7 +894,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -850,7 +906,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -875,12 +931,12 @@ dependencies = [ "num-complex", "numpy", "pyo3", - "rand", + "rand 0.8.5", "rand_distr", - "rand_pcg", + "rand_pcg 0.3.1", "rayon", "rustworkx-core", - "smallvec", + "smallvec 1.11.2", ] [[package]] @@ -892,6 +948,25 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +dependencies = [ + "autocfg 0.1.8", + "libc", + "rand_chacha 0.1.1", + "rand_core 0.4.2", + "rand_hc", + "rand_isaac", + "rand_jitter", + "rand_os", + "rand_pcg 0.1.2", + "rand_xorshift", + "winapi", +] + [[package]] name = "rand" version = "0.8.5" @@ -899,8 +974,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +dependencies = [ + "autocfg 0.1.8", + "rand_core 0.3.1", ] [[package]] @@ -910,9 +995,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", ] +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + [[package]] name = "rand_core" version = "0.6.4" @@ -929,7 +1029,60 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", +] + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "rand_isaac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "rand_jitter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" +dependencies = [ + "libc", + "rand_core 0.4.2", + "winapi", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +dependencies = [ + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.4.2", + "rdrand", + "winapi", +] + +[[package]] +name = "rand_pcg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +dependencies = [ + "autocfg 0.1.8", + "rand_core 0.4.2", ] [[package]] @@ -938,7 +1091,16 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_xorshift" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +dependencies = [ + "rand_core 0.3.1", ] [[package]] @@ -987,6 +1149,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + [[package]] name = "reborrow" version = "0.5.5" @@ -1008,13 +1179,22 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.20", ] [[package]] @@ -1043,8 +1223,8 @@ dependencies = [ "num-traits", "petgraph", "priority-queue", - "rand", - "rand_pcg", + "rand 0.8.5", + "rand_pcg 0.3.1", "rayon", "rayon-cond", ] @@ -1055,12 +1235,27 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + [[package]] name = "seq-macro" version = "0.3.5" @@ -1079,6 +1274,15 @@ dependencies = [ "paste", ] +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + [[package]] name = "smallvec" version = "1.11.2" @@ -1087,9 +1291,9 @@ checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "syn" -version = "2.0.48" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -1098,9 +1302,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.32" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -1143,6 +1347,28 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + [[package]] name = "windows-sys" version = "0.48.0" @@ -1232,5 +1458,5 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.48", ] diff --git a/crates/accelerate/Cargo.toml b/crates/accelerate/Cargo.toml index 3e8c2a898ccd..a0054290ee5f 100644 --- a/crates/accelerate/Cargo.toml +++ b/crates/accelerate/Cargo.toml @@ -46,8 +46,8 @@ version = "2.1.0" features = ["rayon"] [dependencies.faer] -version = "0.13.5" +version = "0.15.0" features = ["ndarray", "nalgebra"] [dependencies.faer-core] -version = "0.13.5" +version = "0.15.0" diff --git a/crates/accelerate/src/two_qubit_decompose.rs b/crates/accelerate/src/two_qubit_decompose.rs index b81356fae1de..815d44f113f6 100644 --- a/crates/accelerate/src/two_qubit_decompose.rs +++ b/crates/accelerate/src/two_qubit_decompose.rs @@ -26,8 +26,8 @@ use std::f64::consts::PI; use faer::Faer; use faer::IntoFaerComplex; -use faer::{mat, Mat, MatRef, Scale}; -use faer_core::c64; +use faer::{mat, Mat, MatRef}; +use faer_core::{c64, scale}; use numpy::PyReadonlyArray2; use crate::utils; @@ -45,7 +45,7 @@ fn transform_from_magic_basis(unitary: Mat) -> Mat { [C0, C0, C1IM, -C1], [C1, -C1IM, C0, C0] ]; - let _b_nonnormalized_dagger = Scale(c64 { re: 0.5, im: 0.0 }) * _b_nonnormalized.adjoint(); + let _b_nonnormalized_dagger = scale(c64 { re: 0.5, im: 0.0 }) * _b_nonnormalized.adjoint(); _b_nonnormalized_dagger * unitary * _b_nonnormalized } @@ -79,7 +79,7 @@ fn __weyl_coordinates(unitary: MatRef) -> (f64, f64, f64) { let pi = PI; let pi2 = PI / 2.0; let pi4 = PI / 4.0; - let uscaled = Scale(C1 / unitary.determinant().powf(0.25)) * unitary; + let uscaled = scale(C1 / unitary.determinant().powf(0.25)) * unitary; let uup = transform_from_magic_basis(uscaled); let mut darg: Vec<_> = (uup.transpose() * &uup) .complex_eigenvalues() @@ -128,14 +128,6 @@ fn __weyl_coordinates(unitary: MatRef) -> (f64, f64, f64) { (cs[1], cs[0], cs[2]) } -// For debugging. We can remove this later -#[pyfunction] -#[pyo3(text_signature = "(unitary, /")] -pub fn _weyl_coordinates(unitary: PyReadonlyArray2>) -> (f64, f64, f64) { - let u = unitary.as_array().into_faer_complex(); - __weyl_coordinates(u) -} - #[pyfunction] #[pyo3(text_signature = "(basis_b, basis_fidelity, unitary, /")] pub fn _num_basis_gates( @@ -188,6 +180,5 @@ fn trace_to_fid(trace: c64) -> f64 { #[pymodule] pub fn two_qubit_decompose(_py: Python, m: &PyModule) -> PyResult<()> { m.add_wrapped(wrap_pyfunction!(_num_basis_gates))?; - m.add_wrapped(wrap_pyfunction!(_weyl_coordinates))?; Ok(()) }