Technical MetaNumber Rules and Conventions July 2015 Metanumber Basic Requirements and Features: 1. A metanumber is a mathematical expression that includes a numerical value, its units, its numerical accuracy, and its defining metadata. Requirements: 2. It is to be easily readable by both humans and computers, 3. It is to be consistent with international scientific units, the SI metric system with automatic management of dimensional analysis including other units used in specific subject domains, (especially the 2015 NIST new foundation based upon fundamental constants), 4. It is to provide automatic computation and management of numerical uncertainty, 5. It is to support a defining metadata standard for the unique representation each number and its exact meaning through metadata descriptors (tags), 6. It is to allow the linkage of unlimited metadata qualifiers and tags without the burden of an associated data transfer or additional processing, 7. It is to be sufficiently flexible to evolve and encompass existing domain standards that are currently in use. 8. It must also support computational collaboration and sharing among user groups, 9. It is to be compatible with current standards in computer coding, and 10. It is to provide an algorithm to convert, as best possible, current nonstandard representations of tabular numerical data to this standard, until such time as data is published in this standard. 11. This standard should also support the analysis of a number’s complete historical computational evolution, 12. It should allow optional extensions to the fundamental SI base units as well as user defined units, 13. It is to be configured as a module or function that can be included in other systems. Numerical Accuracy: 1. Numerical accuracy is automatically generated and tracked based upon the number of significant digits in values that contain a decimal point “.” such as 3.456e9 which will be written as a “ value +/- uncertainty “ 2. Numbers that are to be treated as exact are to have any decimal point removed and absorbed by the exponent in scientific notation so the previous number, to be exact, would be 3456e6 . 3. Unit conversions and internal constants are treated as exact 4. All aspects of numerical uncertainty are managed automatically. Units: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Are variable names which are parts of valid mathematical expressions: 3*kg+2.4*lb Are single names: ouncetroy not troy ounce. Are lower case with only a…z, _ (interior), 0-9 characters: mach, c, m3, s_2, gallon Never have superscripts or subscripts or with any information contained in font changes: m3 not m3 Never have Greek or other alphabetic characters or special symbols: ohm not hb not ħ, pi not π. Use only lower case not upper case for all characters: kelvin not Kelvin, ampere not Ampere… Are defined with nested sequential definitions in terms of the basic SI units: m, kg, s, a, k, cd Use singular spelling and not plural: foot not feet, mile not miles, Include all prefixes as separate words, compounded any way: micro*thousand*nano*dozen*ft Evaluation of expressions always results in SI (metric) units except with (expression) ! (units desired): c ! (mile/week) Dimensional errors are trapped: 3*kg + 4*m gives error A user can use a past result with the form: [my_423] where 423 is the sequence number of a previous result 13. Four new units are optionally available: bit, b; person, persons, p; dollar, usd, d; flop (floating point operation) 14. Users can define units in a jointly shared table Metadata: 1. Every metanumber is standardized in a table structure of 0, 1, 2, … dimensions with a unique name: [table name_ row name _ column name…] where these unique values (indices) indicate the exact location of the metanumber (its full internet path if not on the default server). This serves to give every metanumber a unique name. If the metanumber is on a different server from the default then the path is [server name_directory path _ table name_ row name _ column name…]. Because every possible metanumber has a unique name when standardized, the evolutionary origin of all values is traceable an unambiguous. It is this path name that uniquely names every numerical metanumber and it is the metanumber values in the associated table, row, and column that exactly describe the value. 2. Any metanumber can be multiplied by the structure {var1=val1 | var2=val2|…} for example 6.4533e4*kg*m_3*{depth=34.3*m} 3. Likewise all past results of each user are archived in a table as: userid, seq#, datetime, input string, result, unitid, subject. It can be accessed as [my_423] which returns the result. The optional subject is set (see >> help for instructions) 4. All metadata that is contained in the associated table, a row, or a column with a referenced metanumber can be retrieved. 5. Thus every value is (a) keyed in by a user, or (b) is retrieved from a past expression, or (c) is retrieved from a standardized metanumber table. 6. Any defining metadata for keyed values must be inserted as with {…….} at the time of data entry. Computational Documentation: 1. If an input is preceded by the “#” symbol then it is not processed but that text is stored in the output result. This allows one to document ones work. This also pertains to collaborations where each member of the team using the same subject can insert comments to clarify their calculations. Special Values: 1. {value |…} without the presence of “var1 = …” implies that the value applies to the number being multiplied. 2. Thus {. |…} or just {.} alone means the value is missing. In this case no evaluation will occur and the result will be set to missing {.}. 3. Also {?|….} or just {?} means that something is questionable about the value. Evaluation occurs normally but {?} is to be multiplied by the output. MetaNumber Standardized Data Tables are to be used to automatically find and use reference numerical data: 1. MN Tables are to be Comma Separated Value (CSV) arrays of information thus viewable in Excel spreadsheets. 2. Row one is to consist of a list of variables that apply to the table as a whole: <MN>, table short name, table full name, origin usually web sites), author, author email, date created, security codes, remarks, *units, and copyright . 3. Row two is to consist of the values for these variables. 4. The first row (usually row three) that begins in column 1 with %% will contain unique (index) names for the columns which follow and the subsequent values in column 1 are to contain unique (index) names for that associated row. If a column or row contains no MN values but only metadata (web links, conditions, …) then that name is to be preceded by a “%” symbol. If the metadata in that column or row is a unique metadata index then it is to be preceded by “%%” to indicate that the index is unique and can be used to identity that row or column. 5. Column one, like the first %% row, is to be a unique metanumber index to identify all the rows of metanumbers. 6. If an element has no % symbol preceding the index name in either the associated row or column, then that cell contains a standardized metanumber. Conversely, if an element has a % symbol prior to the name, then the cell will contain some type of information pertaining to the row or column that is metadata. 7. Every standardized metanumber value is to consist of a value*units optionally followed by *{var1=val1|var2=val2|… } metadata pertaining to just that cell}. The value is treated as an uncertain number if a decimal is present in the value and treated as exact if there is no decimal. 8. Certain critical tables are already standardized. Software is under development to extract tabular data from web sites and to standardize it in metanumber form for reading. Special Functions: 1. DC() and DF(): Temperature must always be in Kelvin for computations to work correctly and not result in negative volumes and other anomalies. Yet we still think in units of Fahrenheit and Celsius. So we have devised two functions that give human readability but return Kelvin when evaluated: DC(23) refers to 23 degrees Celsius but when evaluated gives the equivalent in Kelvin. Likewise DF(81) is 81 degrees Fahrenheit but returns that temperature in Kelvin. 2. Metanumber table values are retrieved with the ‘function’ [table name_ row name _ column name…] such as [e_gold_density] 3. Metanumber past results can be retrieved using [my_181] which retrieves the result of that users sequence number 181. Collaboration: 1. The subject name persists for any user who sets it until it is removed 2. Collaboration can be achieved when several users enter the same exact subject name. Other users, as permitted by the subject creator, are allowed to read all users transactions when that subject is active thus allowing collaboration. User Units: 1. Users can add to a table of shared units or constants available to all users . These names and values are stored in a commonly available table and then utilized like all other tables in the form [userid_unitname]. Core Tables for MetaNumber: 1. The archive of all user inputs for evaluation: username, seq#, datetime, input string, result, uid, subject