A list of puns related to "Symbolic Computation"
Hi, Iβm interested in writing a lightweight symbolic calculator from scratch, in order to learn a little bit about where it works.
βFrom scratchβ for me means basically just using basic data types such as int, float, fraction in a language such as python or Julia, and being able to have
Polynomials, rational functions, trigonometric functions, some basic transcendental functions (exponentiation), symbolic differentiation, integration of said functions.
Where can I learn about best practices and writing such a package? What goes into it? I took a look at the source of sympy and realized that I was out of my depth. What are possible resources for this? Iβm not even sure what branch of computer science these queries belong to.
If this question is not up to standards, please let me know how I can improve it.
Covid has given me a lot spare time recently so I started working on a concept-oriented language idea I've had. It is meant to be an abstraction above current high level languages and models concepts largely as arrays or nested arrays. Perfect, I think, for GPUs but I am a novice.
Is there a good place to start with symbolic/gpu computing? I was also thinking about the Numba/JIT route or even Pure/LLVM but I really need something relatively simple for just demonstrating and prototyping.
I was considering Sympy but it has issues with performance and is not gpu friendly as far as I can tell.
Maybe I am just in over my head though and just need to be patient and learn which I am willing to do.
I appreciate any help! My Google efforts have been in vain.
I'm looking for Swift developers who are interested in math to create an open-source symbolic computation framework (also known as a CAS). You can compare that to SymPy basically.
The project will first be closed source and when we're "done", we will open-source this framework.
If you're interested, please join this discord server: https://discord.gg/N8RHeWt.
The project was named after the mathematician Euler. The project was largely inspired by:
In retrospect, it isnβt a surprise that Swift is a good fit for the needs of this project. Swift was designed and built by a close-knit team. That team previously built a highly modular and composable compiler infrastructure (LLVM), a compiler and runtime for a highly dynamic Smalltalk-derived language (Objective-C), the compiler for a highly static language with a capable generics system (C++), and a path-sensitive static analysis engine (the Clang static analyzer). Furthermore, the goals for Swiftβs design was to build something that was as easy to learn and use as a scripting language, but which had enough power to be used as a systemβs programming language.
Swift was the perfect language, because of its performance, modularity, easy to read syntax and concurrency APIs. Swift aims to maximize clarity of code, and thus it fights to reduce boilerplate. The top-end goal of Swift is to optimize the time it takes to write and maintain the project, which includes debugging time and other things that go beyond just pounding out the code.
In the preface to Dover Publication's reprint of Common LISP: A Gentle Introduction to Symbolic Computation (2013) [0] by David S. Touretzky they write
> This 2013 edition from Dover Publications includes roughly two dozen corrections to the original manuscript [...]
What are the corrections? Can't find any errata. My question is if these "corrections" is significant. I have already ordered the book because Steve Losh recommends that in his guide A Road to Common Lisp. Just want to make sure I've made a good purchase.
EDIT: I contacted Touretzky via email and got the reply that there's no errata online, but the errors isn't serious.
[0] https://www.cs.cmu.edu/%7Edst/LispBook/
[1] http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/#a-gentle-introduction
I want to do Boolean symbolic computation in Julia. Where and how should I start?
I'm taking COMP 367 next semester. How's the class and how's the prof? (Dr. Atoyan) What do I need to know going in?
is this course difficult ? please help
In What the Hell is Symbolic Computation?, Steve Losh walks through some fundamentals using CL to illustrate examples.
I'm curious what the Racket equivalent commands are, and what differences there are between Racket and CL in the specific areas the article covers.
For example, Racket doesn't have read-from-string
or type-of
, used in the "Reading Lisp" section. And, does Racket have the same data structure underlying symbols, as described in the "Symbols" section?
I have a large matrix (23 x 12) with all entries as symbolic variables. The total number of symbolic variables are 35. Now I understand that the only way to substitute numeric values to your symbolic variables is through the object.subs() method. When I pass a list of variable/value pairs as tuples to the subs method, Sympy takes around 1.8 seconds to evaluate the expression.
Is there a way I can make this evaluation faster? Are there any alternative methods to substitute values to symbolic variables?
Specifically when computing definite integrals. I was just thinking about this, I suppose it still helps in developing theory... but just for applied computational purposes, in situations when an approximate numeric answer is preferable to an exact symbolic answer, I figure that numeric integration would almost always be faster than symbolic. Is this correct?
Hello.
I would like to share my little project, where I would make a bit more commented solutions to book mentioned in title (available here). While provided solutions are very good, I remember how much of a struggle some of the Lisp syntax was (and still is) for me. I'm quite new to Common Lisp and resulting code is an effect of what I remember from going through a book about a year ago, currently relearning by doing material all over again.
It is far from complete, but I hope it will provide some help. Even as an example of very poor code.
I would appreciate some feedback. Are explanations concise and correct? Are there easier ways of obtaining result? What do you think?
EDIT: I have added some more comments to solutions and I hope to add preliminary chapter 2 soon.
EDIT2: Ok, I think that outside of some minor points the chapter 1 was covered extensively and approaches it's final form. Since I had not received anything other but encouragement via PMs, that format I presented in chapter 1 will be conserved as basis for future explanations. Of course, all errors will be eliminated as fast I can after they will be pointed out to me.
EDIT3: Little state update. I'm terribly ill at the moment, so while I will work on chapter two, my speed and clarity of thought is drastically impaired by quite strong anti-inflammatory/anti-histamine medications. I hope to be better by the weekend.
EDIT4: Started chapter 2 and added a little treat. I feel slightly better, but code will be updated in little snippets. I will edit this posts when new chapter will be added.
EDIT5: Sorry for making you all wait, I have been more or less incapacitated by medications mentioned above. I have corrected some points and going to finish chapter 2 this week. Hope to start chapter 3 and edit all mistakes I have found after analysing code with my friend.
Does anyone have any details about this release? Is it going to be a new edition? Or maybe it's just going to be a re-issue? I'd be really excited it is was a new, updated version!
Edit: I should have included the link, sorry: http://www.amazon.com/Common-Lisp-Introduction-Symbolic-Computation/dp/0486498204/ref=sr_1_1?s=books&ie=UTF8&qid=1340457934&sr=1-1&keywords=Lisp
I'm making a very simple symbolic computation language, which handles integers, variables, simple operations (sum, product, division) and basic functions (log, exp, cos, ...). My programs store expressions as trees, and perform operations on them, and one of the operations I am working on is simplifying an expression (and in particular finding out when an expression is zero). Are there any theoretical results on that subject? Any algorithms which achieve non-obvious simplifications? Where might I find documentation on that subject?
Just wondering if anyone has followed along with this book by using Clojure.
The pace of this book seems to be pretty amazingly well done. It would be great if there were versions for Clojure and Racket (which have much more beginner friendly IDE options).
Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.