grad(func, argnum=None)[source]

Returns the gradient as a callable function of (functions of) QNodes.

Function arguments with the property requires_grad set to False will automatically be excluded from the gradient computation, unless the argnum keyword argument is passed.


func (function) – a plain QNode, or a Python function that contains a combination of quantum and classical nodes

Keyword Arguments

argnum (int, list(int), None) – Which argument(s) to take the gradient with respect to. By default, the arguments themselves are used to determine differentiability, by examining the requires_grad property. Providing this keyword argument overrides this behaviour, allowing argument differentiability to be defined manually for the returned gradient function.


The function that returns the gradient of the input function with respect to the differentiable arguments, or, if specified, the arguments in argnum.

Return type