Dividing by UncertainQuantity returns wrong uncertainty value
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-quantities |
Fix Released
|
High
|
Tony S Yu |
Bug Description
Dividing by an UncertainQuantity doesn't give consistent behavior. For example,
when both the numerator and denomenator are UncertainQuanti
>>> import quantities as pq
>>> t = pq.UncertainQua
>>> print pq.UncertainQua
1.0 1/s
±0.1 1/s (1σ)
When only the denomenator is an UncertainQuantity, the uncertainty blows up:
>>> t = pq.UncertainQua
>>> print pq.Quantity(1) / t
1.0 1/s
±10.0 1/s (1σ)
A simple patch is attached below. An alternative patch would convert `other` to an UncertainQuantity and reuse `__truediv__`.
=== modified file 'quantities/
--- quantities/
+++ quantities/
@@ -81,3 +81,7 @@
str(a/2),
'[ 0.5 1. ] m\n±[ 0.05 0.1 ] m (1σ)'
)
+ assert_equal(
+ str(1/a),
+ '[ 1. 0.5] 1/m\n±[ 0.1 0.05] 1/m (1σ)'
+ )
=== modified file 'quantities/
--- quantities/
+++ quantities/
@@ -148,7 +148,7 @@
def __rtruediv__(self, other):
temp = UncertainQuantity(
- 1/self.
+ self.relative_
)
return other * temp
Changed in python-quantities: | |
assignee: | nobody → Tony S Yu (tonyyu) |
importance: | Undecided → High |
milestone: | none → 0.5 |
status: | New → Fix Committed |
Changed in python-quantities: | |
milestone: | none → 0.5.0 |
Changed in python-quantities: | |
status: | Fix Committed → Fix Released |