Contains functions. These are:
allexpt-times-exptref-expt-plus-expt-allmatch(:require [diman.exponents :refer [allexpt-times-expt
ref-expt-plus-expt-allmatch]])
For (def subform1 "[M^(2)]"), to square it, ie., perform "[M^(2)]^2"
=> (allexpt-times-expt subform1 "2")
("4.0")
For (def subform2 "[M^(2/3)*cd^(1)*mol^(-2)]") with exponent "(2)")
=> (allexpt-times-expt subform2 "3")
("2.0" "3.0" "-6.0")
NOTE:
For an expression (def expr "0.5*a^(1)*t^(2)") resulting in a
dimensional formula with components "[M^(0)*L^(1)*T^(-2)]" and "[T^(2)]".
The 'longer' sub-formula is taken as the reference. Since all its components are
separated by the multiplier * operator any exponents of common notations must be
added. That is, "[M^(0)*L^(1)*T^(-2)] * [T^(2)] = [M^(0)*L^(1)*T^(-2+2)]".
Thus, for list of sub-formulae(def lform '("[M^(0)*L^(1)*T^(-2)]" "[T^(2)]")
=> (ref-expt-plus-expt-allmatch (first formcomps) (last formcomps))
[("M" "L" "T") ("0" "1" "0")]
returns a list of notations which is the same as the original reference sub-formula (first argument) but updated exponent values as a result of adding the exponents in in components with common notations in the next sub-formula (second argument).
Contains functions.
These are:
- `allexpt-times-expt`
- `ref-expt-plus-expt-allmatch`
## How to use
### Loading
```
(:require [diman.exponents :refer [allexpt-times-expt
ref-expt-plus-expt-allmatch]])
```
### Examples
#### Taking exponent of all the notations within a sub-formula
For `(def subform1 "[M^(2)]")`, to square it, ie., perform "[M^(2)]^2"
```
=> (allexpt-times-expt subform1 "2")
("4.0")
```
For `(def subform2 "[M^(2/3)*cd^(1)*mol^(-2)]")` with exponent "(2)")
```
=> (allexpt-times-expt subform2 "3")
("2.0" "3.0" "-6.0")
```
**NOTE**:
- Function returns a list of exponents
- list length of corresponds to the number of notations in the expression
#### Adding exponents among components with same notations
For an expression `(def expr "0.5*a^(1)*t^(2)")` resulting in a
dimensional formula with components `"[M^(0)*L^(1)*T^(-2)]"` and `"[T^(2)]"`.
The 'longer' sub-formula is taken as the reference. Since all its components are
separated by the multiplier `*` operator any exponents of common notations must be
added. That is, `"[M^(0)*L^(1)*T^(-2)] * [T^(2)] = [M^(0)*L^(1)*T^(-2+2)]"`.
Thus, for list of sub-formulae`(def lform '("[M^(0)*L^(1)*T^(-2)]" "[T^(2)]")`
```
=> (ref-expt-plus-expt-allmatch (first formcomps) (last formcomps))
[("M" "L" "T") ("0" "1" "0")]
```
returns a list of notations which is the same as the original reference sub-formula
(first argument) but updated exponent values as a result of adding the exponents in
in components with common notations in the next sub-formula (second argument).
(allexpt-times-expt subform its_expt)(allexpt-times-expt subform its_expt lst_subform_expts prod)Returns multiplied list of exponents in the sub-formula.
Returns multiplied list of exponents in the sub-formula.
(ref-expt-plus-expt-allmatch ref_subform next_subform)(ref-expt-plus-expt-allmatch ref_notn_expt_updated next_notn_expt lst_x lst_e)Returns updated reference sub-formula such that ALL exponents of the corresponding notations are updated. The updated reference is returned as a list whose first is list of notations and last is list of exponents.
Returns updated reference sub-formula such that ALL exponents of the corresponding notations are updated. The updated reference is returned as a list whose first is list of notations and last is list of exponents.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |