|
@@ -875,7 +875,7 @@ The ability to retrieve tha variable in a polynomial term is important. This is
|
|
<<poly-is-combinable>>
|
|
<<poly-is-combinable>>
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-* WORKING Algebraic Manipulation [3/5]
|
|
|
|
|
|
+* WORKING Algebraic Manipulation [2/3]
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-06-09 Thu 09:20>
|
|
:CREATED: <2016-06-09 Thu 09:20>
|
|
:ID: b2c1fd45-b631-48f9-a093-66e1a0faa77f
|
|
:ID: b2c1fd45-b631-48f9-a093-66e1a0faa77f
|
|
@@ -943,7 +943,7 @@ To aid in the design and implementation of various sub-systems, from simplificat
|
|
(cons :trigonometrics trigonometrics)))))
|
|
(cons :trigonometrics trigonometrics)))))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-** WORKING Expression Manipulators [0/7]
|
|
|
|
|
|
+** WORKING Expression Manipulators [0/2]
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 22:58>
|
|
:CREATED: <2016-04-30 Sat 22:58>
|
|
:ID: 4fe60cc1-be66-4d5e-8922-590554d99004
|
|
:ID: 4fe60cc1-be66-4d5e-8922-590554d99004
|
|
@@ -956,11 +956,6 @@ Foo
|
|
#+BEGIN_SRC lisp
|
|
#+BEGIN_SRC lisp
|
|
<<am-define-expression-manipulator>>
|
|
<<am-define-expression-manipulator>>
|
|
<<am-external-manipulator>>
|
|
<<am-external-manipulator>>
|
|
- <<am-addition-manipulator>>
|
|
|
|
- <<am-subtraction-manipulator>>
|
|
|
|
- <<am-multiplication-manipulators>>
|
|
|
|
- <<am-division-manipulators>>
|
|
|
|
- <<am-trigonometric-manipulators>>
|
|
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
*** WORKING Define Expression Manipulator
|
|
*** WORKING Define Expression Manipulator
|
|
@@ -1078,7 +1073,26 @@ The Expression Manipulators should not be touched outside of this package, as th
|
|
expressions)))
|
|
expressions)))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Addition
|
|
|
|
|
|
+** DONE Assembly
|
|
|
|
+CLOSED: [2016-06-18 Sat 13:38]
|
|
|
|
+:PROPERTIES:
|
|
|
|
+:CREATED: <2016-04-30 Sat 23:07>
|
|
|
|
+:ID: d487ed31-295b-4274-aef2-b45e4fa7bec2
|
|
|
|
+:END:
|
|
|
|
+
|
|
|
|
+This is the assembly of the ~#:larcs.manipulate~ package. It includes, in correct order, all bits of functionality. It places all of this in the ~larcs-manipulation.lisp~ file.
|
|
|
|
+
|
|
|
|
+#+Caption: Packaging
|
|
|
|
+#+Name: am-packaging
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulation.lisp"
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+ <<am-determine-expression-type>>
|
|
|
|
+ <<am-collect-variables>>
|
|
|
|
+ <<am-collect-terms>>
|
|
|
|
+ <<am-expression-manipulation>>
|
|
|
|
+#+END_SRC
|
|
|
|
+
|
|
|
|
+* TODO Manipulators for Addition
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:ID: b794486c-e493-408f-b80c-a440edae1bc8
|
|
:ID: b794486c-e493-408f-b80c-a440edae1bc8
|
|
@@ -1088,7 +1102,9 @@ Foo
|
|
|
|
|
|
#+Caption: Addition Manipulator
|
|
#+Caption: Addition Manipulator
|
|
#+Name: am-addition-manipulator
|
|
#+Name: am-addition-manipulator
|
|
-#+BEGIN_SRC lisp
|
|
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulators-addition.lisp""
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+
|
|
(define-operation add 2 +)
|
|
(define-operation add 2 +)
|
|
|
|
|
|
(define-add-manipulator (numeric numeric)
|
|
(define-add-manipulator (numeric numeric)
|
|
@@ -1159,7 +1175,7 @@ Foo
|
|
(add expression-b expression-a))
|
|
(add expression-b expression-a))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Subtraction
|
|
|
|
|
|
+* TODO Manipulators for Subtraction
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:ID: f675fd81-e995-41ee-9570-cc78261d9dc1
|
|
:ID: f675fd81-e995-41ee-9570-cc78261d9dc1
|
|
@@ -1169,7 +1185,9 @@ Foo
|
|
|
|
|
|
#+Caption: Subtraction Manipulator
|
|
#+Caption: Subtraction Manipulator
|
|
#+Name: am-subtraction-manipulator
|
|
#+Name: am-subtraction-manipulator
|
|
-#+BEGIN_SRC lisp
|
|
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulators-subtraction.lisp"
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+
|
|
(define-operation subtract 2 -)
|
|
(define-operation subtract 2 -)
|
|
|
|
|
|
(define-subtract-manipulator (numeric numeric)
|
|
(define-subtract-manipulator (numeric numeric)
|
|
@@ -1195,7 +1213,7 @@ Foo
|
|
(subtract expression-b expression-a))
|
|
(subtract expression-b expression-a))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Multiplication
|
|
|
|
|
|
+* TODO Manipulators for Multiplication
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:CREATED: <2016-04-30 Sat 23:08>
|
|
:ID: cddffdaa-10dd-425f-9697-3f0617162953
|
|
:ID: cddffdaa-10dd-425f-9697-3f0617162953
|
|
@@ -1205,11 +1223,13 @@ Foo
|
|
|
|
|
|
#+Caption: Multiplication Manipulators
|
|
#+Caption: Multiplication Manipulators
|
|
#+Name: am-multiplication-manipulators
|
|
#+Name: am-multiplication-manipulators
|
|
-#+BEGIN_SRC lisp
|
|
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulators-multiplication.lisp"
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+
|
|
(define-operation multiply 2 *)
|
|
(define-operation multiply 2 *)
|
|
|
|
|
|
(define-multiply-manipulator (numeric numeric)
|
|
(define-multiply-manipulator (numeric numeric)
|
|
- (* expression-a expression-b))
|
|
|
|
|
|
+ (* expression-a expression-b))
|
|
|
|
|
|
(define-multiply-manipulator (numeric polynomial-term)
|
|
(define-multiply-manipulator (numeric polynomial-term)
|
|
(let ((new-coefficient (* expression-a (coefficient expression-b)))
|
|
(let ((new-coefficient (* expression-a (coefficient expression-b)))
|
|
@@ -1228,7 +1248,7 @@ Foo
|
|
`(* ,new-coefficient (expt ,variable ,power))))
|
|
`(* ,new-coefficient (expt ,variable ,power))))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Division
|
|
|
|
|
|
+* TODO Manipulators for Division
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 23:09>
|
|
:CREATED: <2016-04-30 Sat 23:09>
|
|
:ID: 4c4f7034-555a-46b0-85b9-56a08cf48f9b
|
|
:ID: 4c4f7034-555a-46b0-85b9-56a08cf48f9b
|
|
@@ -1238,11 +1258,13 @@ Foo
|
|
|
|
|
|
#+Caption: Division Manipulators
|
|
#+Caption: Division Manipulators
|
|
#+Name: am-division-manipulators
|
|
#+Name: am-division-manipulators
|
|
-#+BEGIN_SRC lisp
|
|
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulators-division.lisp"
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+
|
|
(define-operation division 2 /)
|
|
(define-operation division 2 /)
|
|
|
|
|
|
(define-division-manipulator (numeric numeric)
|
|
(define-division-manipulator (numeric numeric)
|
|
- (/ expression-a expression-b))
|
|
|
|
|
|
+ (/ expression-a expression-b))
|
|
|
|
|
|
(define-division-manipulator (polynomial-term polynomial-term)
|
|
(define-division-manipulator (polynomial-term polynomial-term)
|
|
(let ((new-coefficient (/ (coefficient expression-a)
|
|
(let ((new-coefficient (/ (coefficient expression-a)
|
|
@@ -1253,7 +1275,7 @@ Foo
|
|
`(* ,new-coefficient (expt ,variable ,power))))
|
|
`(* ,new-coefficient (expt ,variable ,power))))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Trigonometric [0/6]
|
|
|
|
|
|
+* WORKING Manipulators for Trigonometric [0/6]
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-04-30 Sat 23:09>
|
|
:CREATED: <2016-04-30 Sat 23:09>
|
|
:ID: ba4acf37-9074-429b-a2c8-a23094e1c86b
|
|
:ID: ba4acf37-9074-429b-a2c8-a23094e1c86b
|
|
@@ -1263,7 +1285,9 @@ Foo
|
|
|
|
|
|
#+Caption: Trigonometric Manipulators
|
|
#+Caption: Trigonometric Manipulators
|
|
#+Name: am-trigonometric-manipulators
|
|
#+Name: am-trigonometric-manipulators
|
|
-#+BEGIN_SRC lisp
|
|
|
|
|
|
+#+BEGIN_SRC lisp :tangle "larcs-manipulators-trig.lisp"
|
|
|
|
+ (in-package #:larcs.manipulate)
|
|
|
|
+
|
|
<<am-sine-manipulators>>
|
|
<<am-sine-manipulators>>
|
|
<<am-cosine-manipulators>>
|
|
<<am-cosine-manipulators>>
|
|
<<am-tangent-manipulators>>
|
|
<<am-tangent-manipulators>>
|
|
@@ -1272,7 +1296,7 @@ Foo
|
|
<<am-cotangent-manipulators>>
|
|
<<am-cotangent-manipulators>>
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Sine
|
|
|
|
|
|
+** WORKING Sine
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:ID: c733c6b3-a44a-488f-8b6e-38346830b257
|
|
:ID: c733c6b3-a44a-488f-8b6e-38346830b257
|
|
@@ -1289,7 +1313,7 @@ Foo
|
|
(sin expression-a))
|
|
(sin expression-a))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Cosine
|
|
|
|
|
|
+** WORKING Cosine
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:ID: c2fbd362-6932-4483-8270-e3ad72a308fd
|
|
:ID: c2fbd362-6932-4483-8270-e3ad72a308fd
|
|
@@ -1306,7 +1330,7 @@ Foo
|
|
(cosine expression-a))
|
|
(cosine expression-a))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Tangent
|
|
|
|
|
|
+** WORKING Tangent
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:ID: 07222206-1c22-411e-a8ab-13e1a627e9ef
|
|
:ID: 07222206-1c22-411e-a8ab-13e1a627e9ef
|
|
@@ -1323,7 +1347,7 @@ Foo
|
|
(tan expression-a))
|
|
(tan expression-a))
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Cosecant
|
|
|
|
|
|
+** WORKING Cosecant
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:CREATED: <2016-05-08 Sun 16:22>
|
|
:ID: e77c0317-7281-45ff-b86b-8d66fb8c38ef
|
|
:ID: e77c0317-7281-45ff-b86b-8d66fb8c38ef
|
|
@@ -1337,7 +1361,7 @@ Foo
|
|
(define-operation cosecant 1 csc)
|
|
(define-operation cosecant 1 csc)
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Secant
|
|
|
|
|
|
+** WORKING Secant
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:23>
|
|
:CREATED: <2016-05-08 Sun 16:23>
|
|
:ID: 6c377c7d-ec84-4fcf-be94-db89b832c2d8
|
|
:ID: 6c377c7d-ec84-4fcf-be94-db89b832c2d8
|
|
@@ -1351,7 +1375,7 @@ Foo
|
|
(define-operation secant 1 sec)
|
|
(define-operation secant 1 sec)
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-**** WORKING Cotangent
|
|
|
|
|
|
+** WORKING Cotangent
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-05-08 Sun 16:23>
|
|
:CREATED: <2016-05-08 Sun 16:23>
|
|
:ID: 70a9fb76-7ca7-4c7d-b25b-0fa94d390b6c
|
|
:ID: 70a9fb76-7ca7-4c7d-b25b-0fa94d390b6c
|
|
@@ -1365,25 +1389,6 @@ Foo
|
|
(define-operation cotangent 1 cot)
|
|
(define-operation cotangent 1 cot)
|
|
#+END_SRC
|
|
#+END_SRC
|
|
|
|
|
|
-** DONE Assembly
|
|
|
|
-CLOSED: [2016-06-18 Sat 13:38]
|
|
|
|
-:PROPERTIES:
|
|
|
|
-:CREATED: <2016-04-30 Sat 23:07>
|
|
|
|
-:ID: d487ed31-295b-4274-aef2-b45e4fa7bec2
|
|
|
|
-:END:
|
|
|
|
-
|
|
|
|
-This is the assembly of the ~#:larcs.manipulate~ package. It includes, in correct order, all bits of functionality. It places all of this in the ~larcs-manipulation.lisp~ file.
|
|
|
|
-
|
|
|
|
-#+Caption: Packaging
|
|
|
|
-#+Name: am-packaging
|
|
|
|
-#+BEGIN_SRC lisp :tangle "larcs-manipulation.lisp"
|
|
|
|
- (in-package #:larcs.manipulate)
|
|
|
|
- <<am-determine-expression-type>>
|
|
|
|
- <<am-collect-variables>>
|
|
|
|
- <<am-collect-terms>>
|
|
|
|
- <<am-expression-manipulation>>
|
|
|
|
-#+END_SRC
|
|
|
|
-
|
|
|
|
* DONE Symbolic Differentiation [4/4]
|
|
* DONE Symbolic Differentiation [4/4]
|
|
:PROPERTIES:
|
|
:PROPERTIES:
|
|
:CREATED: <2016-06-13 Mon 22:45>
|
|
:CREATED: <2016-06-13 Mon 22:45>
|
|
@@ -2524,6 +2529,11 @@ This defines the LARCS Library system, allowing the functionality to be loaded b
|
|
(:file "larcs-classify")
|
|
(:file "larcs-classify")
|
|
(:file "larcs-polynomials")
|
|
(:file "larcs-polynomials")
|
|
(:file "larcs-manipulation")
|
|
(:file "larcs-manipulation")
|
|
|
|
+ (:file "larcs-manipulators-addition")
|
|
|
|
+ (:file "larcs-manipulators-subtraction")
|
|
|
|
+ (:file "larcs-manipulators-multiplication")
|
|
|
|
+ (:file "larcs-manipulators-division")
|
|
|
|
+ (:file "larcs-manipulators-trig")
|
|
(:file "larcs-differentiate")
|
|
(:file "larcs-differentiate")
|
|
(:file "larcs-typeset")))
|
|
(:file "larcs-typeset")))
|
|
#+END_SRC
|
|
#+END_SRC
|