Comments (11)
Seems like AT is batting 0% on this one. It's a tensor notation and the position of the indices matter. I'm not sure what the semantic speech should be, but it is probably something like
cap R with indices lower i, upper j, lower k, lower l
I'm going to need to some digging about what is appropriate in braille. Tensor notation is way above what UEB covers in their instructions/examples. I don't remember seeing it in the Nemeth book either. The problem is that the pairs matter (each pair is like matrix entry), and a singleton index is accessing the row/col (depending on whether it is a sub/superscript). Because of this, you can't say the k
is a subscript of expression that precedes it -- it is sort of a continuation of the preceding scripts.
If you see something in Nemeth or UEB that seems like it might cover this, please me know.
from mathcat.
I'm not sure if the following adds anything, I tried creating a LaTeX equivalent:
R_i{}^j{}_k{}_l
In the MathCAT demo, the LaTeX snip created a similar visual rendering and provided the following text and braille:
- Clearspeak:
R sub i, with 3 prescripts, none j k none l none
- Nemeth braille:
⠠⠗⠰⠊⠘⠚⠐
In the MathML 3 spec, section 3.4.7.1 it says:
The argument sequence consists of the base followed by zero or more pairs of vertically-aligned subscripts and superscripts (in that order) that represent all of the postscripts.
I'm out of my depth here! It seems MathCAT/Clearspeak recognized the multiscript nature and I'm guessing it is incorrect in using "prescripts" instead of "postscripts"; And, isn't the i part of the postscripts?. Assuming I understand that model, I would have expected R with 4 postscripts, i none, none j, k none, l none
(adding commas to aid in perceiving postscript pairs).
I'm guessing the indication of "none" for missing scripts is useful - However, your suggested speech of "cap R with indices lower i, upper j, lower k, lower l" seems easier to listen to.
The braille output appears to be truncated again... it looks like it attempted to add a back to base indicator after the superscript k and then stopped for some reason. I'm a member of the National Braille Association, so I can post in their forums. I'll ask there if anyone knows how to handle multiscripts (assuming I can craft the question correctly).
from mathcat.
Mary Stores pointed out to me that Nemeth Rule XIII Section 82 describes both Simultaneous as well as Non-Simultaneous superscripts and subscripts (page 96) - The non-simultaneous examples appears to describe Nemeth braille for prescripts and postscripts similar to the tensor indices notation:
I've posted a question to the Nemeth forum on the National Braille Authority, but it still has not cleared moderation...
from mathcat.
I'm getting close to getting mmultiscripts right.
The Duxbury output is not correct: ⠠⠗⠰⠊⠅⠇⠘⠚
in ascii braille is ,r;ikl^j
. In that form, it is easy to see that the order of the indices has been lost. According to 82.b (above) a baseline indicator (dot 5) is needed between the scripts, and there are none in the Duxbury output, so that's another mistake.
Once I get all the tests working, I'd be curious to know how many of the mmultiscripts tests I have have bugs in Duxbury's translator. Would you be able to run 10 tests or so?
from mathcat.
Certainly - Mary and I could run tests through Duxbury, if that's what you mean.
from mathcat.
I'm very curious to know how well MathCAT stacks up against Duxbury, so the more tests you are willing to run, the better.
Here's what MathCAT now produces (Nemeth and ASCII braille):
⠠⠗⠰⠊⠐⠘⠚⠐⠰⠅⠐⠰⠇
,r;i"^j";k";l
Does this look right?
I need to fix the UEB next.
from mathcat.
I received feedback on the post I made on the National Braille Association's Nemeth Code for Math and Science forum. My original post was eaten by their SPAM filter due to the links I put in it. Here is Lindy Walton's reply:
From: https://www.nationalbraille.org/forums/topic/missing-post-nemeth-for-tensor-indices-notation-multiscripts/#post-39442
from mathcat.
Well, Duxbury doesn't do well with this:
The ASCII and Unicode versions:
,r;ikl^j
⠠⠗⠰⠊⠅⠇⠘⠚
I might write this up and send it to Duxbury as an issue as well.
from mathcat.
@brichwin: could you check with Lindy about the translation. I don't think she realized that the k
and the l
are in separate subscripts. Lindy's Nemeth translation places them in the same subscript. That is mathematically wrong because it would imply the last tensor index is "k times l" whereas there are actually four of them and the 'k' and 'l' are not (implied) multiplication. With that correction (and knowing that MathCAT leaves it up the to caller to add the Nemeth switch indicators), ⠠⠗⠰⠊⠐⠘⠚⠐⠰⠅⠐⠰⠇
as the correct MathCAT generates appears correct.
from mathcat.
@brichwin: could you check with Lindy about the translation... With that correction (and knowing that MathCAT leaves it up the to caller to add the Nemeth switch indicators), ⠠⠗⠰⠊⠐⠘⠚⠐⠰⠅⠐⠰⠇ as the correct MathCAT generates appears correct.
Here is Lindy Walton's reply:
Hi Brian.
I am unfamiliar with MathCAT or with the topic of tensor indices and multiscripts. As a transcriber, I look at the print and translate it to Nemeth according to what I have learned about print-to-braille transcription. The possibility of having side-by-side letters at the same subscript level yet meaning two different "multiscripts" is not something I am familiar with mathematically. Insertion of the dot 5 before letter "l" does indeed separate it from letter "k" in a similar manner that it functions as a separator between subscript "i" and superscript "j". I see nothing wrong with this transcription.
Lindy
from mathcat.
@brichwin: thanks for checking.
from mathcat.
Related Issues (20)
- Vietnamese braille number bug: 1,000
- Tilde always spaced from operand when used as a negation operator HOT 3
- UEB: Trouble with xor symbol HOT 2
- Nemeth slowdown
- Add an option to skip checking the files for updates HOT 6
- fall back to English doesn't seem to be working.
- add interface for telling MathCAT what (all of) the user prefs are
- Zip up Rule directories and unzip on demand HOT 3
- Add ASCIIMath generation HOT 1
- Question: Best practice for <button> with mathml HOT 3
- Add Italian translation HOT 23
- Math alphanumeric handling in Braille
- Panic related to unicode characters HOT 2
- number block cleanup is failing when the numbers aren't ASCII
- Changing speech style switches the language HOT 1
- Finnish version of ASCIIMath
- Error at startup with NVDA 2023.3.1
- Add Auto value to BlockSeparators and DecimalSeparators HOT 1
- Number canonicalization bug HOT 1
- MathML causing panic, suspected cause mstyle HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mathcat.