proofofconcept
proofofconcept copied to clipboard
create an interface for a mathematical search capability for the database
The page https://derivationmap.net/list_all_expressions current supports "search latex as plain text" and "search latex using regex."
The page https://derivationmap.net/list_all_symbols currently supports "search symbol latex" and "search symbol name".
Here's a bunch of aspects a user might want to search by.
Be able to search all expressions and symbols and derivations:
- provide a list of symbols, either by latex or by numeric ID
- which expressions feature variables from step 1?
- which derivations do expressions from step 2 show up in?
Also, be able to search by notation:
- search by contravariant/covariant (which is distinct from "raise __ to the power"
- search by Dirac notation
- search by vector
- search by matrix
- search by operator (quantum)
Search for expressions that are inputs/outputs to a given inference rule -- https://derivationmap.net/list_all_inference_rules
Be able to search by operator:
- search by dot product
- search by cross product
- search by addition, multiplication
- search by power
dimensions and units:
- Search by which expressions have these dimensions?
- Search by which variables have these dimensions?
- Search by which expressions have these units?
- Search by which variables have these units?
Search by constant versus variable
by name:
- Search by derivation name
- Search by expression name
- Search by variable name
The impact of an ability to search derivations and expressions by latex or by numeric id include
- helps users identify relevant content
- people entering derivations need to be able to quickly identify intersections with existing content
Suppose a user is looking for a variable. What could they provide as input?
- constant versus variable
- field (real values, integer values, complex values) or vector space
- range (negative, positive, non-negative)
- dimensions (length, width, time) and power per dimension (e.g., 0, 1, 2). If powers for each dimension are zero, then the variable is dimensionless
- units (m, kg, s)
- domain (quantum, electromagnetics, thermodynamics)
- notation (vector, matrix, operator, bra, ket)
- latex for symbol
- numeric ID
- symbol plain text
- symbol regex
- name
some combination of the above fields using and/or/not
Suppose a user is looking for an expression. What could they provide as input?
- equality versus inequality
- dimensions (length, width, time) and power per dimension
- units (m, kg, s)
- domain (quantum, electromagnetics, thermodynamics)
- notation (vector, matrix, operator, bra, ket)
- operators (+, *, ^)
- latex for symbols and operators involved
- numeric ID of symbols in the expression
- numeric ID of expression
- regex for symbols and operators involved
- name of expression
some combination of the above fields using and/or/not.
The aspects that distinguish the above list from the symbol search are
- operators
- equality versus inequality
- numeric ID of symbols in the expression
Suppose a user is looking for an operator. What could they provide as input?
- latex for operator
- regex for operator
- notation (vector, matrix, quantum operator, Dirac notation)
- applies to scalar fields or vector spaces
- unitary versus binary
- name ("add", "multiply", "cross product")
- domain (quantum, electromagnetics, thermodynamics)
A custom (regex) search would be in constrast to
- the current "site:derivationmap.net" method
- A programmable Google Search interface; see https://support.google.com/programmable-search/answer/4513751?hl=en and https://developers.google.com/custom-search/docs/overview and https://programmablesearchengine.google.com/controlpanel/all
The functionality of user search is similar to the semantic equation matching described in https://github.com/allofphysicsgraph/proofofconcept/issues/283