Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
572,5 KB
Nội dung
ComputerAlgebraSystems:AreWeThereYet? Richard Fateman Computer Science Univ of California Berkeley, CA Univ of Arizona February, 2004 The Subject: “Symbolic Computation Systems” • • • • What are they? How good are they now? Where are they going? When will they be “there”? Univ of Arizona Februa What are they? • An attempt to build a “mathematical intelligence” or at least a very skilled assistant Univ of Arizona Februa What is their current state? • We don’t know how to achieve the stated goals • We keep trying, anyway • New systems are produced every few years, but rarely push the state of the art, much less advance it Univ of Arizona Februa What then? • If we don’t have one now, and progress seems slow, what we need to do, when will we it, and what will it look like? Univ of Arizona Februa What does it take to build a ComputerAlgebra System? • A Software engineering • B Language choice (Aldor, C++, Java, Lisp,…) • C Algorithms, data structures • D Mathematical framework (often the weak spot) • E User interface design • F Conformance to Standards, TeX, MathML, COM, NET, Beans • G Community of users (IMPORTANT) • H Leadership/ Marketing(?) Univ of Arizona Februa An Aside on your non-constructive education In freshman calculus you learned to integrate rational functions You could integrate 1/x and 1/(x-a) into logarithms, and you used partial fractions Unless you’ve recently taken (or taught) this course, you’ve forgotten the details That’s OK Let’s review it fast Univ of Arizona Februa Here’s an integration problem Univ of Arizona Februa You need to factor the denominator You learned to this by guesswork, and fortunately it works Univ of Arizona Februa And then the partial fraction expansion You probably remember one way to this ,vaguely if at all Univ of Arizona Februa 10 Notebook form (II) Displayed form (one version) In reality, Mathematica does not look quite as good as our typesetting here in the interactive mode Univ of Arizona Februa 45 Notebook form (III) TeX form {Condition}(\arcsin (z) = {\frac{{{\Mfunction{z}}^3}}{6}} + z + {\frac{3\,{z^5}}{40}} + \ldots = \Mfunction{\sum}_{k = 0}^{\infty } {\frac{\Mfunction{Pochhammer}({\frac{1}{2}},k)\, {{\Mfunction{z}}^{2\,k + 1}}}{\left( 2\,k + \right) \,k!}} = \Mfunction{z}\,\Mfunction{Hypergeometric2F1}( {\frac{1}{2}},{\frac{1}{2}},{\frac{3}{2}},{z^2}), \Mfunction{Abs}(z) < 1)) Useful in case you wanted to paste/edit this into a paper, (or powerpoint) but requires using Mathematica TeX macros Univ of Arizona Februa 46 Notebook form (IV) OpenMath form too ugly to believe} { Useful in case you wanted to send this to an OpenMath aware program If you can find one Univ of Arizona Februa 47 Computing Inside the Notebook How good is the 3-term approximation at z= ½ ? ArcSin[z] == z + z^3/6 + (3*z^5)/40 + Pi/6 == 2009/3840 + / z -> 1/2 Surprised? N[ Pi/6 == 2009/3840 + ] 0.523599 == 0.523177 + N[ Pi/6 == 2009/3840 + , 30] 0.523599 == 0.523177 + N[ Pi/6 == 2009/3840 + , 30] 0.52359877559829887307710723055 == 0.52317708333333333333333333333 + Univ of Arizona Februa 48 Simplification Inside the Notebook In[30] := z* Hypergeometric2F1[1/2, 1/2, 3/2, z^2] Note: this is how Mathematica interactive output looks This should be the same as ArcSin[z] for |z|