module Data.Drasil.Concepts.Math (
module Data.Drasil.Concepts.Math
, module Drasil.Metadata.Concepts.Math
) where
import Drasil.Database (mkUid)
import Language.Drasil hiding (number, norm, matrix, Sentence(P, S, (:+:)))
import qualified Language.Drasil as D
import Language.Drasil.Chunk.Concept.NamedCombinators
import Language.Drasil.Development (NPStruct(P, S, (:-:)))
import Language.Drasil.ShortHands (lX, lY, lZ)
import Drasil.Metadata.Domains (mathematics)
import Drasil.Metadata.Concepts.Math (equation, graph, parameter, unit_)
import Data.Drasil.Citations (cartesianWiki, lineSource, pointSource)
import qualified Language.Drasil.Sentence.Combinators as S
mathcon :: [ConceptChunk]
mathcon :: [ConceptChunk]
mathcon = [ConceptChunk
amplitude, ConceptChunk
angle, ConceptChunk
axis, ConceptChunk
calculation, ConceptChunk
cartesian, ConceptChunk
centre, ConceptChunk
change, ConceptChunk
component,
ConceptChunk
constraint, ConceptChunk
direction, ConceptChunk
equation, ConceptChunk
euclidSpace, ConceptChunk
graph, ConceptChunk
laplaceTransform, ConceptChunk
law, ConceptChunk
line, ConceptChunk
matrix,
ConceptChunk
norm, ConceptChunk
normal, ConceptChunk
number, ConceptChunk
origin, ConceptChunk
parameter, ConceptChunk
perp, ConceptChunk
positive, ConceptChunk
negative,
ConceptChunk
point, ConceptChunk
probability, ConceptChunk
rOfChng, ConceptChunk
rate, ConceptChunk
rightHand, ConceptChunk
shape, ConceptChunk
unit_, ConceptChunk
vector,
ConceptChunk
xAxis, ConceptChunk
xCoord, ConceptChunk
xComp, ConceptChunk
xDir, ConceptChunk
yAxis, ConceptChunk
yCoord, ConceptChunk
yComp, ConceptChunk
yDir, ConceptChunk
zAxis, ConceptChunk
zCoord, ConceptChunk
zComp, ConceptChunk
zDir, ConceptChunk
iAngle]
mathcon' :: [CI]
mathcon' :: [CI]
mathcon' = [CI
de, CI
leftSide, CI
ode, CI
pde, CI
rightSide]
amplitude, angle, area, axis, calculation, cartesian, centre, change, component, constraint, diameter,
direction, euclidN, euclidSpace, gradient, laplaceTransform, law, line, matrix, norm, normal, normalV,
number, orient, origin, perp, perpV, pi_, negInf, posInf, positive, negative, point, probability,
rOfChng, rate, rightHand, shape, surArea, surface, unitV, vector, xAxis, xCoord, xComp, xDir,
yAxis, yCoord, yComp, yDir, zAxis, zCoord, zComp, zDir, iAngle :: ConceptChunk
amplitude :: ConceptChunk
amplitude = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"amplitude") (String -> NP
nounPhraseSP String
"amplitude") (String -> Sentence
D.S String
"The peak deviation of a function from zero")
angle :: ConceptChunk
angle = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"angle") (String -> NP
cn' String
"angle") (String -> Sentence
D.S String
"the amount of rotation needed to bring one line or plane into coincidence with another")
area :: ConceptChunk
area = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"area") (String -> NP
cn' String
"area") (String -> Sentence
D.S String
"a part of an object or surface")
axis :: ConceptChunk
axis = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"axis") (String -> NP
cn' String
"axis") (String -> Sentence
D.S String
"a fixed reference line for the measurement of coordinates")
calculation :: ConceptChunk
calculation = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"calculation") (String -> NP
cn' String
"calculation") (String -> Sentence
D.S String
"a mathematical determination of the size or number of something")
cartesian :: ConceptChunk
cartesian = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"cartesian") (String -> NP
pn' String
"Cartesian coordinate system") (Sentence -> ConceptChunk) -> Sentence -> ConceptChunk
forall a b. (a -> b) -> a -> b
$ String -> Sentence
D.S String
"a coordinate system that specifies each point uniquely in a plane by a set" Sentence -> Sentence -> Sentence
`S.of_`
String -> Sentence
D.S String
"numerical coordinates, which are the signed distances to the point from" Sentence -> Sentence -> Sentence
+:+
String -> Sentence
D.S String
"two fixed perpendicular oriented lines, measured in the same unit of length" Sentence -> Sentence -> Sentence
+:+
Citation -> Sentence
forall r. (Referable r, HasShortName r) => r -> Sentence
fromSource Citation
cartesianWiki
centre :: ConceptChunk
centre = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"centre") (String -> NP
cn' String
"centre") (String -> Sentence
D.S String
"the middle point of an object")
change :: ConceptChunk
change = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"change") (String -> NP
cn' String
"change") (String -> Sentence
D.S String
"Difference between relative start and end states of an object")
component :: ConceptChunk
component = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"mathComponent") (String -> String -> NP
nounPhrase String
"component" String
"components") (String -> Sentence
D.S (String
"The scalar quantity defining the contribution " String -> String -> String
forall a. [a] -> [a] -> [a]
++
String
"of a vector in one of the coordinate directions"))
constraint :: ConceptChunk
constraint = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"mathConstraint") (String -> NP
cn' String
"constraint") (String -> Sentence
D.S String
"A condition that the solution must satisfy")
diameter :: ConceptChunk
diameter = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"diameter") (String -> NP
cn' String
"diameter") (String -> Sentence
D.S (String
"Any straight line segment that passes through the center of the circle" String -> String -> String
forall a. [a] -> [a] -> [a]
++
String
"and whose endpoints lie on the circle."))
direction :: ConceptChunk
direction = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"direction") (String -> NP
cn' String
"direction") (String -> Sentence
D.S String
"'which way' a vector points, extending from the tail to the tip")
euclidSpace :: ConceptChunk
euclidSpace = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"euclidSpace") (String -> NP
cn' String
"Euclidean") (String -> Sentence
D.S (String
"Denoting the system of geometry corresponding to the geometry of ordinary" String -> String -> String
forall a. [a] -> [a] -> [a]
++
String
"experience"))
gradient :: ConceptChunk
gradient = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"gradient") (String -> NP
cn' String
"gradient") (String -> Sentence
D.S String
"degree of steepness of a graph at any point")
laplaceTransform :: ConceptChunk
laplaceTransform = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"laplaceTransform") (String -> NP
cn' String
"laplace transform") (String -> Sentence
D.S (String
"An integral transform that converts a function of a real variable t "
String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"(often time) to a function of a complex variable s (complex frequency)"))
law :: ConceptChunk
law = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"law") (String -> NP
cn' String
"law") (String -> Sentence
D.S String
"a generalization based on a fact or event perceived to be recurrent")
line :: ConceptChunk
line = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"line") (String -> NP
pn' String
"line") (Sentence -> ConceptChunk) -> Sentence -> ConceptChunk
forall a b. (a -> b) -> a -> b
$ String -> Sentence
D.S String
"An interval between two points" Sentence -> Sentence -> Sentence
+:+ Citation -> Sentence
forall r. (Referable r, HasShortName r) => r -> Sentence
fromSource Citation
lineSource
matrix :: ConceptChunk
matrix = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"matrix") (String -> NP
cnICES String
"matrix") (String -> Sentence
D.S (String
"A rectangular array of quantities or expressions in rows and columns that" String -> String -> String
forall a. [a] -> [a] -> [a]
++
String
"is treated as a single entity and manipulated according to particular rules"))
norm :: ConceptChunk
norm = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"norm") (String -> NP
cn' String
"norm") (String -> Sentence
D.S String
"the positive length or size of a vector")
normal :: ConceptChunk
normal = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"normal") (String -> NP
cn' String
"normal" ) (String -> Sentence
D.S String
"an object that is perpendicular to a given object")
number :: ConceptChunk
number = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"number") (String -> NP
cn' String
"number") (String -> Sentence
D.S String
"a mathematical object used to count, measure, and label")
orient :: ConceptChunk
orient = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"orientation") (String -> NP
cn' String
"orientation") (String -> Sentence
D.S String
"the relative physical position or direction of something")
origin :: ConceptChunk
origin = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"origin") (String -> NP
cn' String
"origin") (String -> Sentence
D.S String
"a fixed point of reference for the geometry of the surrounding space")
perp :: ConceptChunk
perp = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"perp") (String -> NP
cn' String
"perpendicular") (String -> Sentence
D.S String
"At right angles")
pi_ :: ConceptChunk
pi_ = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"pi") (String -> NP
cn' String
"ratio of circumference to diameter for any circle") (String -> Sentence
D.S String
"The ratio of a circle's circumference to its diameter")
posInf :: ConceptChunk
posInf = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"PosInf") (String -> NP
cn' String
"Positive Infinity") (String -> Sentence
D.S String
"the limit of a sequence or function that eventually exceeds any prescribed bound")
negInf :: ConceptChunk
negInf = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"NegInf") (String -> NP
cn' String
"Negative Infinity") (String -> Sentence
D.S String
"Opposite of positive infinity")
positive :: ConceptChunk
positive = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"positive") (String -> NP
cn' String
"positive") (String -> Sentence
D.S String
"greater than zero")
negative :: ConceptChunk
negative = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"negative") (String -> NP
cn' String
"negative") (String -> Sentence
D.S String
"less than zero")
point :: ConceptChunk
point = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"point") (String -> NP
pn' String
"point") (Sentence -> ConceptChunk) -> Sentence -> ConceptChunk
forall a b. (a -> b) -> a -> b
$ String -> Sentence
D.S String
"An exact location, it has no size, only position" Sentence -> Sentence -> Sentence
+:+
Citation -> Sentence
forall r. (Referable r, HasShortName r) => r -> Sentence
fromSource Citation
pointSource
probability :: ConceptChunk
probability = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"probability") (String -> NP
cnIES String
"probability") (String -> Sentence
D.S String
"The likelihood of an event to occur")
rate :: ConceptChunk
rate = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"rate") (String -> NP
cn' String
"rate") (String -> Sentence
D.S String
"Ratio that compares two quantities having different units of measure")
rightHand :: ConceptChunk
rightHand = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"rightHand") (String -> NP
cn' String
"right-handed coordinate system") (String -> Sentence
D.S String
"A coordinate system where the positive z-axis comes out of the screen")
shape :: ConceptChunk
shape = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"shape") (String -> NP
cn' String
"shape") (String -> Sentence
D.S String
"The outline of an area or figure")
surface :: ConceptChunk
surface = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"surface") (String -> NP
cn' String
"surface") (String -> Sentence
D.S String
"The outer or topmost boundary of an object")
vector :: ConceptChunk
vector = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"vector") (String -> NP
cn' String
"vector") (String -> Sentence
D.S String
"Object with magnitude and direction")
xAxis :: ConceptChunk
xAxis = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"xAxis") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lX NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-axis") (String -> Sentence
D.S String
"the primary axis of a system of coordinates")
yAxis :: ConceptChunk
yAxis = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"yAxis") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lY NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-axis") (String -> Sentence
D.S String
"the secondary axis of a system of coordinates")
zAxis :: ConceptChunk
zAxis = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"zAxis") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lZ NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-axis") (String -> Sentence
D.S String
"the tertiary axis of a system of coordinates")
xCoord :: ConceptChunk
xCoord = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"xCoord") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lX NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-coordinate") (String -> Sentence
D.S String
"the location of the point on the x-axis")
yCoord :: ConceptChunk
yCoord = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"yCoord") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lY NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-coordinate") (String -> Sentence
D.S String
"the location of the point on the y-axis")
zCoord :: ConceptChunk
zCoord = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"zCoord") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lZ NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-coordinate") (String -> Sentence
D.S String
"the location of the point on the z-axis")
xComp :: ConceptChunk
xComp = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"xComp") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lX NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-component") (String -> Sentence
D.S String
"the component of a vector in the x-direction")
yComp :: ConceptChunk
yComp = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"yComp") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lY NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-component") (String -> Sentence
D.S String
"the component of a vector in the y-direction")
zComp :: ConceptChunk
zComp = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"zComp") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lZ NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-component") (String -> Sentence
D.S String
"the component of a vector in the z-direction")
xDir :: ConceptChunk
xDir = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"xDir") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lX NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-direction") (String -> Sentence
D.S String
"the direction aligned with the x-axis")
yDir :: ConceptChunk
yDir = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"yDir") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lY NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-direction") (String -> Sentence
D.S String
"the direction aligned with the y-axis")
zDir :: ConceptChunk
zDir = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"zDir") (NPStruct -> NP
nounPhraseSent (NPStruct -> NP) -> NPStruct -> NP
forall a b. (a -> b) -> a -> b
$ Symbol -> NPStruct
P Symbol
lZ NPStruct -> NPStruct -> NPStruct
:-: String -> NPStruct
S String
"-direction") (String -> Sentence
D.S String
"the direction aligned with the z-axis")
iAngle :: ConceptChunk
iAngle = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"iAngle") (String -> NP
cn String
"initial angle") (String -> Sentence
D.S String
"The initial angle where the body is being displaced")
de, leftSide, ode, pde, rightSide :: CI
de :: CI
de = UID -> NP -> String -> [IdeaDict] -> CI
commonIdea (String -> UID
mkUid String
"de") (String -> NP
cn' String
"differential equation") String
"DE" [IdeaDict
mathematics]
ode :: CI
ode = UID -> NP -> String -> [IdeaDict] -> CI
commonIdea (String -> UID
mkUid String
"ode") (String -> NP
cn' String
"ordinary differential equation") String
"ODE" [IdeaDict
mathematics]
pde :: CI
pde = UID -> NP -> String -> [IdeaDict] -> CI
commonIdea (String -> UID
mkUid String
"pde") (String -> NP
cn' String
"partial differential equation") String
"PDE" [IdeaDict
mathematics]
leftSide :: CI
leftSide = UID -> NP -> String -> [IdeaDict] -> CI
commonIdea (String -> UID
mkUid String
"leftSide") (String -> String -> NP
nounPhrase String
"left-hand side" String
"left-hand sides" ) String
"LHS" [IdeaDict
mathematics]
rightSide :: CI
rightSide = UID -> NP -> String -> [IdeaDict] -> CI
commonIdea (String -> UID
mkUid String
"rightSide") (String -> String -> NP
nounPhrase String
"right-hand side" String
"right-hand sides") String
"RHS" [IdeaDict
mathematics]
euclidN :: ConceptChunk
euclidN = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"euclidNorm") (ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI ConceptChunk
euclidSpace ConceptChunk
norm) (String -> Sentence
D.S String
"euclidean norm")
normalV :: ConceptChunk
normalV = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"normal vector") (ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI ConceptChunk
normal ConceptChunk
vector) (String -> Sentence
D.S String
"unit outward normal vector for a surface")
perpV :: ConceptChunk
perpV = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"perp_vect") (ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI ConceptChunk
perp ConceptChunk
vector) (String -> Sentence
D.S String
"vector perpendicular or 90 degrees to another vector")
rOfChng :: ConceptChunk
rOfChng = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"rOfChng") (ConceptChunk
rate ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`of_` ConceptChunk
change) (String -> Sentence
D.S String
"ratio between a change in one variable relative to a corresponding change in another")
surArea :: ConceptChunk
surArea = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"surArea") (ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI ConceptChunk
surface ConceptChunk
area) (String -> Sentence
D.S String
"a measure of the total area that the surface of the object occupies")
unitV :: ConceptChunk
unitV = UID -> NP -> Sentence -> ConceptChunk
cncpt''' (String -> UID
mkUid String
"unit_vect") (ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI ConceptChunk
unit_ ConceptChunk
vector) (String -> Sentence
D.S String
"a vector that has a magnitude of one")