Code Monkey home page Code Monkey logo

pennylane-qulacs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pennylane-qulacs's Issues

Unable to install GPU version of Pennylane-Qulacs

Hi, I am trying to install Pennylane-Qulacs GPU with python3.11 and Pennylane.

My Pennylane info is as follows:

Name: PennyLane
Version: 0.35.0
Summary: PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Train a quantum computer the same way as a neural network.
Home-page: https://github.com/PennyLaneAI/pennylane
Author: 
Author-email: 
License: Apache License 2.0
Location: /usr/local/lib/python3.11/dist-packages
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, pennylane-lightning, requests, rustworkx, scipy, semantic-version, toml, typing-extensions
Required-by: pennylane-qulacs, PennyLane_Lightning, PennyLane_Lightning_GPU

Platform info:           Linux-6.5.0-25-generic-x86_64-with-glibc2.35
Python version:          3.11.0
Numpy version:           1.26.3
Scipy version:           1.12.0
Installed devices:
- lightning.qubit (PennyLane_Lightning-0.35.1)
- qulacs.simulator (pennylane-qulacs-0.32.0)
- default.clifford (PennyLane-0.35.0)
- default.gaussian (PennyLane-0.35.0)
- default.mixed (PennyLane-0.35.0)
- default.qubit (PennyLane-0.35.0)
- default.qubit.autograd (PennyLane-0.35.0)
- default.qubit.jax (PennyLane-0.35.0)
- default.qubit.legacy (PennyLane-0.35.0)
- default.qubit.tf (PennyLane-0.35.0)
- default.qubit.torch (PennyLane-0.35.0)
- default.qutrit (PennyLane-0.35.0)
- null.qubit (PennyLane-0.35.0)
- lightning.gpu (PennyLane_Lightning_GPU-0.35.1)

When I enter

sudo pip3.11 install --upgrade qulacs-gpu

I get the following error:

Collecting qulacs-gpu
  Using cached Qulacs-GPU-0.3.1.tar.gz (209 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: qulacs-gpu
  Building wheel for qulacs-gpu (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [173 lines of output]
      running bdist_wheel
      running build
      running build_ext
      /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py:48: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        cmake_version = LooseVersion(re.search(r'version\s*([\d.]+)', out.decode()).group(1))
      /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py:18: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        version = LooseVersion(out)
      /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py:19: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        return version >= LooseVersion('7.0.0')
      /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py:18: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        version = LooseVersion(out)
      /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py:19: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        return version >= LooseVersion('7.0.0')
      CMake Warning (dev) in CMakeLists.txt:
        No project() command is present.  The top-level CMakeLists.txt file must
        contain a literal, direct call to the project() command.  Add a line of
        code such as
      
          project(ProjectName)
      
        near the top of the file, but after cmake_minimum_required().
      
        CMake is pretending there is a "project(Project)" command on the first
        line.
      This warning is for project developers.  Use -Wno-dev to suppress it.
      
      -- The C compiler identification is GNU 11.4.0
      -- The CXX compiler identification is GNU 11.4.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/gcc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/g++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      -- SIMD SUPPORT: Yes
      -- CMAKE_HOST_SYSTEM_PROCESSOR = x86_64
      -- USE_SIMD = Yes
      -- USE_OMP = Yes
      -- USE_GPU = Yes
      -- USE_TEST = Yes
      -- USE_PYTHON = Yes
      -- OPT_FLAGS = -mtune=native -march=native -mfpmath=both
      -- Fetch googletest for C++ testing
      CMake Deprecation Warning at build/temp.linux-x86_64-cpython-311/_deps/googletest_fetch-src/CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      CMake Deprecation Warning at build/temp.linux-x86_64-cpython-311/_deps/googletest_fetch-src/googlemock/CMakeLists.txt:42 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      CMake Deprecation Warning at build/temp.linux-x86_64-cpython-311/_deps/googletest_fetch-src/googletest/CMakeLists.txt:49 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      -- Found PythonInterp: /usr/bin/python3.11 (found version "3.11")
      -- Looking for pthread.h
      -- Looking for pthread.h - found
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
      -- Found Threads: TRUE
      -- Fetch pybind11 for python-binding
      -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.11.so
      -- Performing Test HAS_CPP14_FLAG
      -- Performing Test HAS_CPP14_FLAG - Success
      -- pybind11 v2.5.0
      -- Install from pip
      -- OUTDIR = /tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/build/lib.linux-x86_64-cpython-311
      -- CMAKE_SYSTEM_NAME = Linux
      -- CMAKE_C_COMPILER = /usr/bin/gcc
      -- CMAKE_CXX_COMPILER = /usr/bin/g++
      -- CMAKE_BUILD_TYPE = Release
      -- CMAKE_CXX_FLAGS = -DVERSION_INFO=\"0.3.1\" -std=gnu++14 -pthread -fext-numeric-literals -fopenmp -fPIC
      -- CMAKE_CXX_FLAGS_DEBUG = -g
      -- CMAKE_CXX_FLAGS_RELEASE = -O3 -DNDEBUG -mtune=native -march=native -mfpmath=both
      CMake Deprecation Warning at src/CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      CMake Deprecation Warning at src/csim/CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      CMake Deprecation Warning at src/gpusim/CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      CMake Error at /usr/share/cmake-3.22/Modules/FindCUDA.cmake:859 (message):
        Specify CUDA_TOOLKIT_ROOT_DIR
      Call Stack (most recent call first):
        src/gpusim/CMakeLists.txt:3 (find_package)
      
      
      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/build/temp.linux-x86_64-cpython-311/CMakeFiles/CMakeOutput.log".
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py", line 111, in <module>
          setup(
        File "/usr/local/lib/python3.11/dist-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.11/dist-packages/wheel/bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/usr/local/lib/python3.11/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py", line 50, in run
          self.build_extension(ext)
        File "/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/setup.py", line 108, in build_extension
          subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
        File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/build/lib.linux-x86_64-cpython-311', '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/tmp/pip-install-8o8kjk9r/qulacs-gpu_dc39012c072548388f98f5526c10dac2/build/lib.linux-x86_64-cpython-311', '-DPYTHON_EXECUTABLE=/usr/bin/python3.11', '-DPYTHON_SETUP_FLAG:STR=Yes', '-DCMAKE_C_COMPILER=gcc', '-DCMAKE_CXX_COMPILER=g++', '-DCMAKE_BUILD_TYPE=Release', '-DUSE_GPU:STR=Yes']' returned non-zero exit status 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for qulacs-gpu
  Running setup.py clean for qulacs-gpu
Failed to build qulacs-gpu
ERROR: Could not build wheels for qulacs-gpu, which is required to install pyproject.toml-based project

I am wondering what this means, and how I can fix it. Thank you very much for your help.

Incorrect state preparations for multiple qubits

Some newly added test cases from the device test suite are failing when using BasisState and QubitStateVector for multiple qubits.

Example:

dev1 = qml.device('default.qubit', wires=3)
dev2 = qml.device('qulacs.simulator', wires=3)

par = np.array([0, 1, 0, 0, 0, 0, 0, 0])

def circuit():
    qml.QubitStateVector(par, wires=[2,1,0])
    return qml.expval(qml.PauliZ(0)), qml.expval(qml.PauliZ(1)), qml.expval(qml.PauliZ(2))

qnode1 = qml.QNode(circuit, dev1)
qnode2 = qml.QNode(circuit, dev2)

print("Default qubit: ", qnode1())
print("Qulacs simulator: ", qnode2())
Default qubit:  [-1.  1.  1.]
Qulacs simulator:  [ 1.  1. -1.]

See the following example and the log:
https://github.com/PennyLaneAI/plugin-test-matrix/runs/2476581306?check_suite_focus=true#step:7:77

Rot gate

Hi,

I found that in this version, the 'Rot' gate has been removed, while in the old version, the 'Rot' gate was in _operations_map.
[https://github.com/soudy/pennylane-qulacs/blob/master/pennylane_qulacs/qulacs_device.py]

What is the reason of dropping this?

Thanks

Add support for noise channels

Add support for noise channels like
AmplitudeDamping
PhaseDamping
DepolarizingChannel

Equivalents to these pennylane noise channels
qulacs.gate.AmplitudeDampingNoise
qulacs.gate.DephasingNoise
qulacs.gate.DepolarizingNoise

Add support for `ControlledQubitUnitary`

It seems that ControlledQubitUnitary is not supported on device qulacs.simulator and as a result, we get
pennylane.\_device.DeviceError: Gate ControlledQubitUnitary not supported on device qulacs.simulator
That would be great if we could support that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.