Opened 13 years ago

Closed 13 years ago

#2050 closed defect (fixed)

[with patch, positive review] disallow *generic* matrix eigenspaces for inexact fields (very easy to implement)

Reported by: was Owned by: was
Priority: major Milestone: sage-2.10.3
Component: linear algebra Keywords:
Cc: ncalexander@… Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Instead of lying the following code should just raise a NotImplementedError?. Basically use the is_exact() method on rings to determine if the ring is not exact, and if so, raise an error on eigenspaces computation. Some generic algorithms suck for inexact rings. One thing, the error message for RR and CC could suggest using RDF or CDF... and maybe when prec <= 53, the code could use RDF or CDF (?).

sage: R=RealField(30)
sage: M=matrix(R,2,[2,1,1,1])
sage: M.eigenspaces()

[
(2.6180340, [

]),
(0.38196601, [

])
]

Attachments (3)

2050-ncalexan-eigenspaces-1.patch (12.8 KB) - added by ncalexan 13 years ago.
2250.patch (13.9 KB) - added by mhansen 13 years ago.
2050.patch (13.9 KB) - added by mhansen 13 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 13 years ago by was

See #1706 for a related ticket.

Changed 13 years ago by ncalexan

comment:2 Changed 13 years ago by ncalexan

  • Summary changed from disallow *generic* matrix eigenspaces for inexact fields (very easy to implement) to [with patch, needs review] disallow *generic* matrix eigenspaces for inexact fields (very easy to implement)

comment:3 Changed 13 years ago by ncalexan

  • Cc ncalexander@… added

comment:4 Changed 13 years ago by mhansen

I get the following against 2.10.3.alpha0:

cd "/home/mhansen/sage-2.10.3.alpha0/devel/sage" && hg status
cd "/home/mhansen/sage-2.10.3.alpha0/devel/sage" && hg status
cd "/home/mhansen/sage-2.10.3.alpha0/devel/sage" && hg import   "/home/mhansen/.sage/temp/sage/15288/tmp_0.patch"
applying /home/mhansen/.sage/temp/sage/15288/tmp_0.patch
patching file sage/matrix/matrix2.pyx
Hunk #4 succeeded at 2130 with fuzz 2 (offset 0 lines).
Hunk #5 FAILED at 2146
Hunk #6 FAILED at 2163
2 out of 7 hunks FAILED -- saving rejects to file sage/matrix/matrix2.pyx.rej
abort: patch failed to apply

Changed 13 years ago by mhansen

Changed 13 years ago by mhansen

comment:5 Changed 13 years ago by mhansen

  • Summary changed from [with patch, needs review] disallow *generic* matrix eigenspaces for inexact fields (very easy to implement) to [with patch, positive review] disallow *generic* matrix eigenspaces for inexact fields (very easy to implement)

I've made a patch 2050 which applies cleanly after #2299 . All tests pass so things look good to me.

comment:6 Changed 13 years ago by mabshoff

  • Resolution set to fixed
  • Status changed from new to closed

Merged 2050.patch in Sage 2.10.3.rc0

Note: See TracTickets for help on using tickets.