Pythagorean triples complex squares

While working on a math problem recently that involved Pythagorean Triples I spotted a connection with the complex numbers that I had never noticed previously. It is a trivial observation and I was surprised that in my many years as a mathematician I had never heard anyone mention this little fact. I am curious if this little fact is well known to others and I just happened to miss it or if it really is unknown to most folks.
A Pythagorean triple is a set of three integers like 3,4,5 that make a right triangle with integer sides. Being a right triangle the numbers fit the Pythagorean theorem, a^2 + b^2 = c^2 and sho nuff 9 + 16 = 25
Euclid has a proof that is presented in the Elements that all Pythagorean triples can be generated from two integers s, and t by means of these formulae
a = 2st
b = s^2 - t^2
c = s^2 + t^2
It is fairly easy to use algebra to square a and b using those formulae and see that these numbers do in fact form a Pythagorean triple. It is only slightly more difficult to go the other way and show that all triples are of this form.
So all of this is ancient history - known to Euclid.
Now let us take a complex number, c = a + bi. Let it be a complex integer, meaning that a and b are actually integers. Viewed from the complex plane, the complex number c represents a little right triangle, one leg is the real part, one leg is the imaginary part and the hypotenuse is the norm of the complex number c i.e.
|c| = sqrt(a^2 + b^2)
Clearly because of the square root sign the norm of c is not necessarily an integer and thus the triangle a,b,c is not necessarily a Pythagorean triple. However just square the complex number c
(a + bi)*(a + bi) = (a^2 - b^2) + (2ab)i
Notice anything about the form of a perfect square in the complex plane and Euclid's characterization of a Pythagorean triple? One leg is a difference of squares the other is twice the product of the two numbers.
They are one and the same. The Pythagorean triples are just exactly the perfect squares in the complex plane.
So for example (2 + i) is not a square and is not a Pythagorean triple. Its norm is sqrt(5). but if you square it, you get (3 + 4i) whose norm is 5.
That is the observation. Nothing difficult. Perfectly obvious. Every mathematician from Euclid on knows about right triangles and everyone since Gauss has been able to multiply two complex integers. It is about as easy as math gets. I was astonished that in years as a working mathematician I had never noticed this nor heard anyone mention this simple fact.
Yes, I know - you're thinking that the reason this never came up in conversation is because this observation is totally irrelevant and practically useless, but that has never stopped mathematics. Just ask any mathematician to tell you about paracompact Hausdorff spaces and listen to an amazing tirade of irrelevant and practically useless information.
The Pythagorean triples are just the perfect squares in the complex plane.
Just for grins Google 'Pythagorean triples "complex squares"' to see a Google search that returns but a single result. Hole in one. except that it is not about the result that I just mentioned.
I make no claim that any of this is original, I am only flabbergasted at my ignorance and am casting out to see if I was just asleep the day they covered this in high school or if this really is a rather obscure and little known even if trivial observation.
There is nothing left to say but to ask the survey questions
1) Did you know this before you read it here?
2) If you did know it, was it shown to you or did you discover it yourself?
Enjoy!

You are so correct Jos, you can have a common prime root in the legs. Euclid's formula was for the primitive triples.
I had run into a triple in a problem that I was playing with, remembered that there was a characterization in Euclid and while skimming it noticed that it looked exactly like a squared complex number. This would explain the lack of finding this fact noted on the various math sites - the mere fact that it isn't really true.
The connection to the complex plane is real but as you say the complex squares are the pirmitive triples not all of them.
Of course, if I were a good mathematician I would pretend that I knew that all along and in a disgusted tone utter, "Do you take me for some kind of fool? Obviously I meant 'primitive' because it isn't true otherwise."
These days I am closer to fool than to a good mathematician.
I am very glad that you pointed this out. The problem I was working on required triples and I was about to limit my considerations to just the primitive ones when in fact a non-primitive one could do.
Domo arigato gozaimashita!

Similar Messages

  • Minimum Set to satisfies the condition & formulae - Algorithm

    I need a solution for this problem. Please help..
    Problem:</
    Input:_
    Let N = 100
    {x y}
    {1 2} - A
    {2 3} - B
    {1 2} - C
    {1 5} - D
    Condition:_
    I can pick any set from the above, like {A, B} or {A, A, A, A....} or {A, B, D} or {A, A, B, B, C, C, C, ...} etc...
    Formulae:_
    example:
    for {A, B}, the formulae is --> (Ax + Bx)^2 + (Ay + By)^2 = N^2
    for {A, B, D}, the formulae is --> (Ax + Bx + Dx)^2 + (Ay + By + Dy)^2 = N^2
    i.e) (sum of all selected element's x value) ^ 2 + (sum of all selected element's y value) ^ 2 = N ^ 2
    Output: _
    The minimal number of elements that can be used to achieve the condition.
    example, if both {A, B} & {A, C, D} satisfies the formulae then my solution is {A, B} which has minimal elements in the set. so the output will be 2. if no solution, then return -1.
    Hope I have explained it clearly. Please help...

    First find the Pythagorean triples corresponding to a*a + b*b = N*N. This will give integer values of a and b which your x and y values should total to. This simplifies the next stage, as finding a set of values k1*x1+k2*x2+... + kn*xn = a reduces the search space somewhat - your last term will always be ( a - (k1*x1..kn-1*xn-1) ) / xn.
    Order your values so xi > xi+1. This means you can stop easily when xi == 0, and it's typically bit faster to try removing the biggest values first.
    You can also use dynamic programming to avoid some repeated calculations, but even without it's fairly fast, even for 20 or so different vectors in the basis.
        static class FindMinimimSet implements TripleProcessor {
            int bestTotal = Integer.MAX_VALUE;
            final int[][] basis;
            final int[] counts;
            final HashMap<Long,Integer> memo = new HashMap<Long,Integer>();
            // basis should be sorted by x then y with maximum values first,
            // eg { {4,3}, {4,2}, {0,4}, {0,2} }
            FindMinimimSet ( int[][] basis ) {
                this.basis = basis;
                this.counts = new int[basis.length];
            public void triple ( int a, int b, int c ) {
                bestTotal = findMinimumSet( a, b, bestTotal );
                if ( a != b )
                    bestTotal = findMinimumSet( b, a, bestTotal );
            int findMinimumSet ( int a, int b, int bestTotal ) {
                return findMinimumSet ( a, b, 0, new int[basis.length], 0, bestTotal );
            int findMinimumSet ( int a, int b, int i, int[] counts, int total, int bestTotal ) {
                long key = (a * 104729L + b) * 104729L + i;
                Integer val = memo.get(key);
                if (val == null) {
                    // TODO: record actual counts too
                    val = reallyFindMinimumSet(a,b,i,counts,total,bestTotal);
                    memo.put(key,val);
                return val;
            int reallyFindMinimumSet ( int a, int b, int i, int[] counts, int total, int bestTotal ) {
                if ( ( a == 0 ) && ( b == 0 ) ) {
                    // todo - save the counts somewhere rather than just outputting them
                    System.out.println( total + " -> " + Arrays.toString( counts ) );
                    return total;
                if ( i >= basis.length )
                    return Integer.MAX_VALUE / 2;
                int[] vector = basis;
    if ( i < basis.length - 1 ) {
    final int maxCount = Math.min ( bestTotal - total, Math.min ( ( vector[0] > 0 ) ? a / vector[0] : b, ( vector[1] > 0 ) ? ( b / vector[1] ) : a ) );
    // if the next value of x is zero, and this value isn't, count must be exact
    if ( ( vector[0] != 0 ) && ( basis[i+1][0] == 0 ) ) {
    if ( vector[0] * maxCount != a )
    return bestTotal;
    } else {               
    for ( int count = maxCount; count >= 0; --count ) {
    counts[i] = count;
    bestTotal = findMinimumSet( a - vector[0] * count, b - vector[1] * count, i+1, counts, total + count, bestTotal );
    return bestTotal;
    // only check the max count for last in vector/last with non-zero x
    final int count = Math.min( ( vector[0] > 0 ) ? a / vector[0] : b, ( vector[1] > 0 ) ? ( b / vector[1] ) : a );
    if ( total + count < bestTotal ) {
    counts[i] = count;
    bestTotal = findMinimumSet( a - vector[0] * count, b - vector[1] * count, i+1, counts, total + count, bestTotal );
    return bestTotal;
    The code to find Pythagorean triples, given the longest side:public interface TripleProcessor {
    void triple ( int a, int b, int c ) ;
    public static void findTriples ( int c, TripleProcessor out ) {
    final int c2 = c * c;
    final HashMap<Integer,Integer> squares = new HashMap<Integer,Integer>(c2);
    for ( int i = 1; i < c; ++i )
    squares.put(i*i, i);
    for ( int a = 1; a < c; ++a ) {
    final Integer b = squares.get(c2 - a*a);
    if ( b != null )
    if ( a <= b )
    out.triple(a,b,c);
    else
    break;

  • Pythagoras integer sides triangle

    Absolute beginner needs tips!!
    I need to make a program that gives me triangles with only integer numbers using a2+b2=c2.
    Here's my code, it works but it gives me double results as you can see. How can I improve, just using code I already now? (loop statements, conditions etc..)
    Thanks for any tips
    // Ex. 5.21 Pythagorian triples
    public class Pythagorian
    public static void main( String args[] )
    int a = 0;
    int b = 0;
    int c = 0;
    for( a = 1 ; a <= 9 ; a++ )
    for( b = 1 ; b <= 9 ; b++ )
    for ( c = 1 ; c <= 100 ; c ++)
    if ((c*c)==(a*a + b*b))
    System.out.printf( "A is %d and B is%d and C is %d\n" , a , b, c);
    } // end b
    } // end a
    } // end main
    } // end class

    I assume you are getting both:
    3 4 5
    and
    4 3 5
    Make your 'b' loop only process numbers that are equal or greater than 'a' ('equal' won't give you a Pythagorean triple, anyway, so you could probably skip it).

  • Given n, find (x, y, z) with x^2 + y^2 + z^2 = n

    Can anyone tell me if there is a polynomial time algorithm which, given an integer n, returns all triples of integers whose squares sum to n?
    Alternatively I could use an algorithm which enumerates the triples whose squares sum to 1, then to 2, etc.
    thanks

    The following (naive) algorithm does the job in O(n^1.5); is this what you had in mind?
    public class xyz {
         public static void process(int x, int y, int z, int n) {
              System.out.println(n+": "+x+" "+y+" "+z);
         public static void f(int n) {
              for (int x= 0; x*x <= n; ++x)
                   for (int y= 0; x*x+y*y <= n && y <= x; ++y) {
                        for (int z= 0; x*x+y*y+z*z <= n && z <= y; ++z)
                             if (x*x+y*y+z*z == n)
                                  process(x, y, z, n);
         public static void main(String[] args) {
              for (int n= 0; n < 1000; ++n)
                   f(n);
    }kind regards,
    Jos

  • Small black squares

    I installed mountain lion.  When I turn on my computer now I have small black squares that appear on a white screen during startup. They do dissappear and computer still works fine.  Is this normal with mountain lion?

    Please read this whole message before doing anything.
    This procedure is a diagnostic test. It won’t solve your problem. Don’t be disappointed when you find that nothing has changed after you complete it.
    Third-party system modifications are a common cause of usability problems. By a “system modification,” I mean software that affects the operation of other software — potentially for the worse. The following procedure will help identify which such modifications you've installed. Don’t be alarmed by the complexity of these instructions — they’re easy to carry out and won’t change anything on your Mac. 
    These steps are to be taken while booted in “normal” mode, not in safe mode. If you’re now running in safe mode, reboot as usual before continuing. 
    Below are instructions to enter some UNIX shell commands. The commands are harmless, but they must be entered exactly as given in order to work. If you have doubts about the safety of the procedure suggested here, search this site for other discussions in which it’s been followed without any report of ill effects. 
    Some of the commands will line-wrap or scroll in your browser, but each one is really just a single line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, and you can then either copy or drag it. The headings “Step 1” and so on are not part of the commands. 
    Note: If you have more than one user account, Step 2 must be taken as an administrator. Ordinarily that would be the user created automatically when you booted the system for the first time. The other steps should be taken as the user who has the problem, if different. Most personal Macs have only one user, and in that case this paragraph doesn’t apply. 
    Launch the Terminal application in any of the following ways: 
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.) 
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens. 
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid. 
    When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign (“$”) or a percent sign (“%”). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign. 
    Step 1 
    Copy or drag — do not type — the line below into the Terminal window, then press return:
    kextstat -kl | awk '!/com\.apple/{printf "%s %s\n", $6, $7}' 
    Post the lines of output (if any) that appear below what you just entered (the text, please, not a screenshot.) You can omit the final line ending in “$”. 
    Step 2 
    Repeat with this line:
    sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix)|edu\.mit|org\.(amavis|apache|cups|isc|ntp|postfix|x)/{print $3}' 
    This time, you'll be prompted for your login password, which won't be displayed when you type it. You may get a one-time warning not to screw up. You don't need to post the warning. 
    Note: If you don’t have a login password, you’ll need to set one before taking this step. If that’s not possible, skip to the next step. 
    Step 3
    launchctl list | sed 1d | awk '!/0x|com\.apple|edu\.mit|org\.(x|openbsd)/{print $3}' 
    Step 4
    ls -1A /e*/mach* {,/}L*/{Ad,Compon,Ex,Fram,In,Keyb,La,Mail/Bu,P*P,Priv,Qu,Scripti,Servi,Spo,Sta}* L*/Fonts 2> /dev/null  
    Important: If you formerly synchronized with a MobileMe account, your me.com email address may appear in the output of the above command. If so, anonymize it before posting. 
    Step 5
    osascript -e 'tell application "System Events" to get name of every login item' 2> /dev/null 
    Remember, steps 1-5 are all drag-and-drop or copy-and-paste, whichever you prefer — no typing, except your password. Also remember to post the output. 
    You can then quit Terminal.

  • Square root algorithm?

    Okay, two things...I've always kinda wondered what the algorithm for the square-root function is...where would I find that?
    but the main thing is, I was making a class to store/deal with a complex/mixed number (a + b*i), and I was trying to make a square-root method for that. But I fiddled around with the variables in the equation, and I can't quite get any further.
    This is what I got (algebraically: this isn't actual code):
    ( the variables a, b, c, d are all real numbers )
    ( the constant i is the imaginary unit, sqrt(-1) )
    sqrt(a + b*i) == c + d*i
    a + b*i == (c + di)^2
    a + b*i == c*c - d*d + 2*c*d*i
    a == c*c - d*d
    b == 2*c*d
    c == sqrt( a + d*d )
    c == b / (2* d)
    d == sqrt( c*c - a )
    d == b / (2*c)
    right now the only thing i can conclude from that, is that if you know (a or b) and (c or d) you can determine the other variables. but I can't figure out how to define c or d purely in terms of a and b, as the method would need to. so I'm stuck.

    Okay, two things...I've always kinda wondered what the
    algorithm for the square-root function is...where
    would I find that?
    Math.sqrt()It's an extremely important skill to learn to read the API and become familiar with the tools you will use to program Java. Java has an extensive set of documentation that you can even download for your convenience. These "javadocs" are indexed and categorized so you can quickly look up any class or method. Take the time to consult this resource whenever you have a question - you'll find they typically contain very detailed descriptions and possibly some code examples.
    http://java.sun.com/reference/api/index.html
    http://java.sun.com/j2se/1.4.2/docs/api/

  • How to triple boot (MacOSX / Win7 / Linux) a MacBook Pro (Retina, late 2013) with Refind

    ok it's not a question, it's an howto.
    You do it at your own risk. No failure reported so far, but I'm not responsible for anything.
    If you try to multiboot your MacBook Pro (MBP hereafter) you may face a new complexity. With on partition, Bootcamp does a pretty amazing job installing windows. But when you want to partition your disk in your own way, Bootcamp may fail to install windows and another third OS. You may also want to have a share partition between your OSes, hence have multiple partitions. Most of this tuto should also work for Windows 8 and for other Macbooks.
    Problem 1 : Bootcamp does it with one partition that it divides in two and allow to setup Win7. Not all time though since some user reportidely have problems to get USB 3 support and the keyboard and mouse are non working during the install / setup phase.
    Problem 2 : Windows 7 is not able to install itself to a GPT partition and needs an Hybrid MBR. Bootcamp does this, but just for a Dual OS setup. So to make the magic happen in a multi OS environment, you'll have to do want bootcamp does, manually.
    Step 1 : Download the OS X Recovery Disk Assistant from Apple and flash it to a USB stick. (http://support.apple.com/kb/DL1433)
    Step 2 : Reboot, holding the option key (aka CMD, left of spacebar) down, to trigger the boot menu options. Start the usb drive with OS X recovery and enter the partition tool. Create 3 to 4 partitions, suiting your tastes. Just put windows partition first and I recommend to put the partition sharing data across OSes second, MacOS 3rd and Linux Last for example. MacOS and Linux are fine with pretty much every setup, Windows need the 1° usable partition.
    Step 3 : Migrate your Macos using the same tool (google it for details) or Reinstall MacOS from the recovery partition. (more about migration here, but there are better tuto on this)
    Step 4 : Start your MacOS and create a bootcamp USB stick with the bootcamp tool. You need an ISO from Win7 (or Win 8) and a drive of at least 4 GB. Bootcamp will most likely complain about the fact that it will not be able to install 7 due to the fact that you don't have only one partition, ignore and proceed to the Bootcamp USB stick setup.
    Step 5 : Adding the USB3 support to your Win7 installation. Plug your newly created Win7 USB stick to a computer running Windows. In the sources directory, copy the boot.vim on your disk drive and add the drivers that Bootcamp added to your USB stick, in the $WinPEDriver$ directory and follow these instructions to add them to your boot.vim image. Follow carefully every step, it does works. Add the drivers you feel like, commit and copy back your boot.vim image, patched, to your USB stick, in the sources directory.
    Step 6 : In your MacOSX, install the GPT fdisk partition tool. You just have to unzip the archive. Win7 is unable to install to a GPT disk, so you will have to create a (dirty) Hybrid MBR. From a terminal, launch GPT fdisk. Carefull here, the Win7 is most likely not the 1st but the 2nd or 3rd because there is an UEFI partition before. Just check before adding them if in doubt, by striking p. Then key in r then h then the number of the partitions you want to add to this hybrid MBR (the Win7 & the Shared one). Accept the type 07 for this partition and type y, n & finally w. (more details here for the fans)
    Step 7 : Reboot, keep the CMD key down to trigger the boot option menu. Reboot on the USB stick, install Win7. If it doesn't understand the partition made for it, format it, if needed, from the 7 installer, delete and recreate it.
    Step 8 : Install your favorite Linux distro with a USB stick generator. (see here & here). No complex part, except that Grub will most likely scratch your nice Hybrid MBR, rendering Win7 inaccessible. No problem, reboot in MacOS and redo step 6, this will revive your win7.
    Step 9 : It's cosmetic but keeping CMD key down to boot is not so practical. ReFind does it just great. Setup is super easy, just kick install.sh from a shell in MacOS. Fine tune decoration and some stuffs later on from the config file.
    Step 10 (optionnal) : You want it all, without switching between OSes? Having Windows app running within MacOS is easy, with most native hardware acceleration preserved, using Parallels desktop. It also works with a "simple" Bootcamp Windows setup.
    Enjoy your mighty triple boot MBP.

    Just ordered a Retina MacBook Pro11,2 (mid-2014 15", 2.2GHz Intel Core i7, 16GB RAM, 512GB SSD, OSX 10.9.4 Pre-installed - Build 13E28)  and have the exact same issue.  The first thing I did when i booted it for the first time was enable FileValut2 and encrypt the disk.  Though I failed to notice this behavior prior to encrypting the disk, the stuttering/lag happens without fail every time I have logged in from a cold boot, locked screen or sleep. Additionally I have noticed the same stuttering behavior when switching tabs on various built-in OSX applications such as the tabs on the About This Mac > More Info.... (System Information) dialog for example, and similarly other dialogs that experience this behavior of resizing when switching tabs. I was running no other software than About This Mac > More Info ... (System Information) and OSX 10.9.4 itself.  The issue happens without fail with and without a USB mouse plugged in.
    I am really glad to have found this thread and with such recent posts.  I'd love to find out that this is just a software bug that will be fixed when OSX 10.10 "Yosemite" is released.  If not, I hope the cause of this bug is determined soon so I can still exchange or have it repaired.
    Migflono and Matthew, would you be able to post your hardware specs for comparison? 

  • 570 GTX lockup with white squares

    Card: MSI 570 GTX (N570GTX M2D12D5/OC)
    Driver: Nvidia 270.61
    Bios updated to latest (KK1)
    According to MSI Afterburner I am running the stock settings: 988mV core voltage, 786MHz Core/1572MHz Shader/2100MHz Memory.
    I have never overclocked the card beyond the stock OC that the card comes with.
    When playing the game Rift after about an hour, sometimes less little white squares show up all over both of my monitors and then within a few seconds the computer locks up.
    MSI Kombustor seems to work ok, I haven't run it indefinitely but it makes it through the default benchmark.  I tried another stress program called OCCT.  I ran that for about 20 minutes with default shader complexity (0) and it produced 1 error and no crashes.  I tried it again with shader complexity 4 (out of 8) and every minute or two it would signal an error then after about half an hour I got the same lockup with the white squares.  So far I have only seen this lockup occur in Rift and with OCCT.  I beat Portal 2 in single player and Coop and played several hours of Shogun 2 with no issues.
    This is actually my second 570.  My original one started producing artifacts constantly and games were completely unplayable.  I RMA'ed it a week or two ago and now this card is presenting a different problem.
    Rest of my computer:
    Windows 7 Home Premium (64bit)
    Intel Core i5 760 at stock (2.80GHz)
    8GB DDR3 Ram
    750 Watt Silverstone power supply
    Any suggestions on what to try next?  Is the card bad?  I didn't see any references to this exact problem when I tried searching the MSI forums.  Though I did run across another forum where someone was having the same problem.  I don't think they found a solution though.
    Snapped a picture of the frozen screen with white squares:

    Good to hear   
    Maybe Svet can make you a custombios, so you can flash your cards bios, then you dont have to use Afterburner all the time.
    Hope he reacts 

  • My new iMac with FCPX crashes when rendering complex templates and crashes when exporting with Motion 5

    My new iMac with FCPX crashes when rendering complex templates and crashes when exporting with Motion 5
    Using Motion 5.0.6 and Final Cut Pro X 10.0.7 on New iMac (December 2012)  Mountain Lion,
    Intel Core i7 quad-core a 3,4GHz, Turbo Boost fino a 3,9GHz
    32GB di SDRAM DDR3 a 1600MHz - 4 x 8GB
    Fusion Drive da 3TB
    NVIDIA GeForce GTX 680MX 2GB GDDR5
    During the rendering of complex FCPX mac crashes and I have to force a restart.
    I also happens when I try to export movies with Motion 5.
    Does anyone have the same problem with my new iMac?

    Problems such as yours are sometimes caused by files that should belong to you but are locked or have wrong permissions. This procedure will check for such files. It makes no changes and therefore will not, in itself, solve your problem.
    First, empty the Trash.
    Launch the Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Triple-click anywhere in the line below to select it, then drag or copy it — do not type — into the Terminal window:
    find . $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 -o -acl \) 2> /dev/null | wc -l
    Press return. The command may take a noticeable amount of time to run. Wait for a new line ending in a dollar sign (“$”) to appear.
    The output of this command, on a line directly below what you entered, will be a number such as "35." Please post it in a reply.

  • Sharing complex substitution variable values between ASO and BSO databases

    We have ASO and BSO Essbase database member names with spaces in, and need to store some of these member names in substitution variables. However, this has to be done differently for ASO and BSO, due to calc script syntax requiring double quotes and MDX requiring square brackets. For example:
    ASO:
    &CurWeek value = Week 1
    MDX: [&CurWeek]
    BSO:
    &CurWeek value = "Week 1"
    Calc Script: &CurWeek
    As a result, the substitution variables cannot be shared between the ASO and BSO cubes, since the BSO variable value requires double quotes due to the space in the member name.
    Is there a way to get the above to work with both ASO and BSO? Can the double quotes be escaped in calc script syntax? Or can the double quotes be removed in the MDX formula?

    Hi TimG,
    Apologies for such a late reponse to this, genuinely haven't had a spare second to reply until now!
    Yes, I suspect a complex alias name may be the best solution here, and to remove the spaces from the actual member names.
    I was not aware of the latter part at all. My colleague has confirmed as much on this too - DBAG 11.1.2.1 pp117 & 118:
    "Note: If a substitution variable value is numeric or a member name starting with a
    numeral or containing the special characters referred to above is to be used both
    in MDX and non-MDX situations, create two substitution variables, one without
    the value enclosed in quotation marks and one with the value in quotation marks."
    "To ensure that a new substitution variable value is available in formulas, partition definitions,
    and security filters, stop and restart the application. All other uses of substitution variables are
    dynamically resolved when used."
    This last paragraph is the most concerning since we were planning to be able to update substitution variables values and then access the new values from calc scripts and formulae instantaneously. This quirk is unexpected and a little inconvenient. We may have to look at scheduling a change of substitution variable value overnight, followed by a stop/start of the app ready for the next day, and to work around needing to access changed values instantly.

  • Please support more complex characters in ADE - time to switch reading engines !

    In ADE 1.7 (and previous versions) there has always been a lack of support for Latin extended characters - such as a 'H' with a dot below - as shown at this post here:
    http://graphemica.com/%E1%B8%A5
    In version 1.7.x these characters appear as a question mark '?'. (as shown below)
    Now in version 1.8.x they appear as a square with a cross inside (as shown below):
    To code up a H character with a dot below the following character entities simply DO NOT WORK in ADE.
    HTML Entity (Decimal)
    &#7717;
    HTML Entity (Hexadecimal)
    &#x1E25;
    Any webkit based reading engine (e.g. iBooks) renders these obscure characters CORRECTLY - as shown below:-
    Gecko based reading engines (in this example Firefox) also renders these obscure characters CORRECTLY - as shown below:-
    Please can Adobe support these character in RMSDK. It's a fundamental requirement if your RMSDK based e-reader is to compete anywhere near the more sophisticated webkit.
    I think the future of ADE is less about re-skinning (which IMHO seems to be the main changes I'm seeing in version 1.8) and more about considering a switch from RMSDK to the more superior Webkit. (Appreciate Adobe cannot liscence webkit and make $$$$$, so this core change probably will never happen!). Alternatively update RMSDK to a 21st century reading engine and support this type of scenario.
    I have clients who's use ADE for proofing ePUB and it always hurts to tell them that ADE is the reason for some of the complex characters appearing cr*p. Now that can't be good for Adobe's reputation.
    THANKS - hope someone at Adobe is listening.
    cheers, Rob.
    PS: Really want to avoid having to embed fonts to achieve these characters in ADE beacuse we want one ePUB to work across multiple reading engines/ ePUB reading sytems.

    This worked perfectly, many thanks!!!

  • HT1414 I get  a square box around any botton i want to push and only then can i access by double clicking. how do i get rid of this?

    I get  a square box around any botton i want to push and only then can i access by double clicking. how do i get rid of this?

    You have the accessibility VoiceOver feature or another one turned on.
    Triple click the home button and try going to Settings>General>Accessibility and turn VoiceOver and any other ones off. You may have to use three fingers to scroll the screen to get there. If problems see the following for how to turn off via iTunes:
    iPhone: Configuring accessibility features (including VoiceOver and Zoom)

  • Help, my iPhone 5, I've turned it off and on and it has the same fault. What ever you press on the screen highlights with a box round it. When you press the round button with the square in the centre the voice on the phone tells you the time. Then the voi

    Help, my iphone 5 is locked and will not function! I've turned it off and on and it has the same fault. What ever you press on the screen highlights with a box round it. When you press the round button with the square in the centre the voice on the phone tells you the time. Then the voice says screen lock. If I try and unlock the phone the voice says phone unlock but you can't put the code in. If you hight the box it will say the number but not put the code in?! What's the crack?

    Quickly Triple tap the home button to de-activate VoiceOver.

  • Pusing 2 complex components to one tileList

    Hi
    In a nutshell – I need a way to push 2 separate components
    needing 2 separate item renderers into one tileList – letting
    me set the width of the tileList to 100%.
    I am wanting to use a tileList containing 2 separate
    components and move the contents of the tileList onto a new line /
    row when it reaches the browser / application width limit.
    For example if a tileList consists of many
    “circle” components (“circle.as”), and the
    width of the tileList can only fit 10 of these components per row,
    then the tileList should force / place the remainder amount of
    components onto a new line – which it can!
    E.g. if there are 15 circle components within the tileList,
    the first level row should contain 10 circle components and the
    bottom row should contain the 5 remaining etc….
    This works fine simply by giving the width of the tileList a
    percentage width of 100%
    However, if you need to add more than one type of compoenet
    to a tileList how can you keep this functionality of pushing
    components onto a new row / level of a tileList???
    This is my current problem!
    E.g. lets now introduce a square component called
    “Sqaure.as” and I want to add this square component to
    the same tileList that my circle component is added to.
    Additionally, my components are complex therefore needing
    there own distinct item rendered!!! – Can I still add them to
    the same component using two speerate item renderers???
    Due to the fact that I neend 2 separate item renderers for my
    components (circle and square) I decided to (as a work around) use
    2 separate tileLists to display my components, and then push these
    2 tileLists together aligning them horizontally so they look like
    they are on the same row etc….
    This works, however, I now loose the functionality of pushing
    the components to a new row within the Tilelist(s) as I have to
    manually work the needed widths of each tileList depending on the
    amount of compontens within the tileLists - therefore this is not a
    dynamic / percentage width.
    Basically in a nutshell – I need a way to push 2 separate
    components needing 2 separate item renderers into one tileList
    – letting me set the width of the tileList to 100% and
    allowing the functionality I desire.
    if anyone could help me out on this one - it would be much
    appreciated
    Thanks,
    Jon.

    I suggets combining the two dataProviders. Then you have two
    options. One, use a TileList and create an itemRenderer that
    displays one of the two components, depending on the dataProvider
    item. Two, use a Tile container and a Repeater, and create a custom
    component that switches between the components, again depending on
    the data in the dp item.
    In either case, the item component would be very similar, but
    Repeater does not have the as stringent requirements for its
    components as a TileList + itemRenderer.
    Tracy

  • Can Numbers insert Complex Equations and show the Equation symbols

    In Excel for Windows it is possible to insert complex equations that looks like an image but shows
    all the symbols used in the equations. Excel will also use the same layout as it would look when written.
    So for example can 1/2 be turned automatically into a superscript subscript mathematical equation.
    Or can you insert a Square Route symbol into the equations.
    please help

    Kils wrote:
    So for example can 1/2 be turned automatically into a superscript subscript mathematical equation.
    This was already available in Numbers'08
    Or can you insert a Square Route symbol into the equations.
    This too
    But Numbers'09 adds the ability to insert MathType equations.
    Yvan KOENIG (from FRANCE samedi 10 janvier 2009 21:35:44)

Maybe you are looking for

  • No local help files for Photoshop CS6 extended

    Hi I wish to use local help files for Photoshop CS6 but only online support is available. Local files are not listed under the Adobe Help preferences. The option to search only local rather than online help is greyed out. I found and downloaded a PDF

  • New gl and reporting

    hi gurus, i have configured all steps required for new gl. now transactions are posting, suppose at a particular day i want to see p&l and balance sheet of a profit center then how can i do that. thanks & Regards, manoj Moderator: Please, avoid askin

  • How to insert date value through xml in oracle

    hi,  I am inserting data using xml string. Everything is working perfect but it shows error when i try to insert data into a table with date coloumn. it shows unparsable date error.... I am using this format of date 1-jan-2011 my prcedure and java me

  • Performance Problem After Upgrade

    Hi Gurus, We have successfully Upgrade our system R3 4.6c to ECC6, Database Oracle 10g on AIX. Now we are facing Performance Problem. when we are checking Tables are taking Huge time to update data. Regards, Darshan...

  • Itunes can not back up iphone.

    I have a iphone 3GS with 4.2.1 IOS, my itunes 10.l keeps responding with an error message durning sync. "itunes cannot backup iphone error occurred. " What can I do to resolve this? Thank you.