2017-01-03 10 views
1

私はscipy.misc.factorialでこのコードに従っています。scipy.misc.factorial:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all()を使用

ただし、このエラーが発生しました。ここで

if n < 0: 
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

コードです:

import numpy as np 
from scipy.special import factorial 
arr = np.array([3, 4, 5]) 
factorial(arr, exact=True) 

次のコードは、エラーがないながら。

arr = np.array([3, 4, 5]) 
factorial(arr, exact=False) # exact=False 
+0

これは正当なバグのようです。どのscipyバージョンを使用していますか?それが最新のものであれば、GitHubのissue trackerを検索してください。同様のことがポップアップしない場合は、レポートを提出してください。 –

+0

朝のコードを見ていきます。 –

+1

AFAICT、これはscipy 0.18.1で動作しています。 - これは最新のリリース版のようだ。 – mgilson

答えて

2

あなたは古いバージョンのscipyを使用しています。 0.17.0を実行しているマシンでバグを再現できます。バージョンを表示するには

import scipy; print scipy.version.version 

バージョン0.18.0では、問題が修正されました。this commitを参照してください。

以前は、exact=Trueは数字のリストではサポートされていませんでした。

関連する問題