DiferenciableTensorProtocol