
Hi boosters, Further to Noah Steins message: http://lists.boost.org/Archives/boost/2005/10/95348.php I have attempted to make an implementation of grassmann points as intermediate results of cartesian point addition operations. Its available as "grassmann_point.zip" in the (new) "Graphical" directory. There is a file test.cpp in the "boost/lib/graphical/examples" directory Any comments welcome. ( Mathematicians help would be appreciated to verify whether the concepts are correct too. My grasp of grassmann spaces etc is shakey to say the least) . Enclosed is the header grassmann_point.hpp to give a flavour of the type. (Of course to run it you will need the other files in "grassmann_point.zip"). Only tested in VC7.1 All comments welcome... regards Andy Little begin 666 grassmann_point.hpp M(VEF;F1E9B!"3T]35%]'4D%02$E#04Q?5%=/7T1'4D%34TU!3E]03TE.5%]( M4%!?24Y#3%5$140-"B-D969I;F4@0D]/4U1?1U)!4$A)0T%,7U173U]$1U)! M4U--04Y?4$])3E1?2%!07TE.0TQ51$5$#0H-"B\O($-O<'ER:6=H="!!;F1Y M($QI='1L92 R,# U"B\O"B\O($1I<W1R:6)U=&5D('5N9&5R('1H92!";V]S M="!3;V9T=V%R92!,:6-E;G-E+"!697)S:6]N(#$N,"X@"B\O("A3964@86-C M;VUP86YY:6YG(&9I;&4@3$E#14Y315\Q7S N='AT(&]R(&-O<'D@870@"B\O M(&AT=' Z+R]W=W<N8F]O<W0N;W)G+TQ)0T5.4T5?,5\P+G1X="D-"@T*(VEN M8VQU9&4@/&)O;W-T+V=R87!H:6-A;"]T=V]?9"]P;VEN="YH<' ^#0HC:6YC M;'5D92 \8F]O<W0O=71I;&ET>2]E;F%B;&5?:68N:'!P/@T*(VEN8VQU9&4@ M/&)O;W-T+W1Y<&5?=')A:71S+VES7V%R:71H;65T:6,N:'!P/@T*#0IN86UE M<W!A8V4@8F]O<W1[;F%M97-P86-E(&=R87!H:6-A;'MN86UE<W!A8V4@='=O M7V1[#0H-"B @("!T96UP;&%T92 \='EP96YA;64@5#X-"B @("!S=')U8W0@ M9W)A<W-M86YN7W!O:6YT>PT*(" @(" @("!D;W5B;&4@9&5G<F5E.PT*(" @ M(" @("!4('@L('D[#0H@(" @(" @(&=R87-S;6%N;E]P;VEN="@-"B @(" @ M(" @(" @('!O:6YT/%0^(&-O;G-T("8@(' L#0H@(" @(" @(" @("!D;W5B M;&4@<@T*(" @(" @(" I.B!X*' N>"DL>2AP+GDI("QD96=R964H<BE[?0T* M(" @(" @( T*(" @(" @("!O<&5R871O<B!P;VEN=#Q4/B@I#0H@(" @(" @ M('L-"B @(" @(" @(" @(')E='5R;B!P;VEN=#Q4/B@@>" O(&1E9W)E92P@ M>2 O(&1E9W)E92D[#0H@(" @(" @('T-"B @("!].PT*#0H@(" @=&5M<&QA M=&4\='EP96YA;64@5$PL('1Y<&5N86UE(%12/@T*(" @(&EN;&EN90T*(" @ M('1Y<&5N86UE(&)O;W-T.CIE;F%B;&5?:68\#0H@(" @(" @(&)O;W-T.CII M<U]A<FET:&UE=&EC/%12/BP-"B @(" @(" @9W)A<W-M86YN7W!O:6YT/$)/ M3U-47U194$5/1E]44$PH5$PH*2 J(%12*"DI/@T*(" @(#XZ.G1Y<&4-"B @ M("!O<&5R871O<B J*"!P;VEN=#Q43#X@8V]N<W0@)B!L:',L(%12(&-O;G-T M)B!R:',I#0H@(" @>PT*(" @(" @(" @='EP961E9B!"3T]35%]465!%3T9? M5%!,*%1,*"D@*B!44B@I*2!R97-V=#L-"B @(" @(" @9W)A<W-M86YN7W!O M:6YT/')E<W9T/B!R97-U;'0H<&]I;G0\<F5S=G0^*&QH<RYX("H@<FAS+"!L M:',N>2 J(')H<RDL<FAS*3L-"B @(" @(" @<F5T=7)N(')E<W5L=#L-"B @ M("!]#0H-"B @("!T96UP;&%T93QT>7!E;F%M92!43"P@='EP96YA;64@5%(^ M#0H@(" @:6YL:6YE#0H@(" @='EP96YA;64@8F]O<W0Z.F5N86)L95]I9CP- M"B @(" @(" @8F]O<W0Z.FES7V%R:71H;65T:6,\5$P^+ T*(" @(" @("!G M<F%S<VUA;FY?<&]I;G0\0D]/4U1?5%E014]&7U103"A43"@I("H@5%(H*2D^ M#0H@(" @/CHZ='EP90T*(" @(&]P97)A=&]R("HH("!43"!C;VYS=" F(&QH M<RP@<&]I;G0\5%(^(&-O;G-T)B!R:',I#0H@(" @>PT*(" @(" @("!T>7!E M9&5F($)/3U-47U194$5/1E]44$PH5$PH*2 J(%12*"DI(')E<W9T.PT*(" @ M(" @("!G<F%S<VUA;FY?<&]I;G0\<F5S=G0^(')E<W5L="AP;VEN=#QR97-V M=#XH;&AS("H@<FAS+G@L;&AS("H@<FAS+GDI("QL:',I.PT*(" @(" @("!R M971U<FX@<F5S=6QT.PT*(" @('T-"@T*(" @('1E;7!L871E/'1Y<&5N86UE M(%1,+"!T>7!E;F%M92!44CX-"B @("!I;FQI;F4-"B @("!G<F%S<VUA;FY? M<&]I;G0\0D]/4U1?5%E014]&7U103"A43"@I("L@5%(H*2D^#0H@(" @;W!E M<F%T;W(@*R@@('!O:6YT/%1,/B!C;VYS=" F(&QH<RP@<&]I;G0\5%(^(&-O M;G-T)B!R:',I#0H@(" @>PT*(" @(" @("!T>7!E9&5F($)/3U-47U194$5/ M1E]44$PH5$PH*2 J(%12*"DI(')E<W9T.PT*(" @(" @("!G<F%S<VUA;FY? M<&]I;G0\<F5S=G0^(')E<W5L="@-"B @(" @(" @(" @('!O:6YT/')E<W9T M/BAL:',N>" K(')H<RYX+&QH<RYY("L@<FAS+GDI+ T*(" @(" @(" @(" @ M,@T*(" @(" @(" I.PT*(" @(" @("!R971U<FX@<F5S=6QT.PT*(" @('T- M"B @("!T96UP;&%T93QT>7!E;F%M92!43"P@='EP96YA;64@5%(^#0H@(" @ M:6YL:6YE#0H@(" @9W)A<W-M86YN7W!O:6YT/$)/3U-47U194$5/1E]44$PH M5$PH*2 K(%12*"DI/@T*(" @(&]P97)A=&]R("LH("!G<F%S<VUA;FY?<&]I M;G0\5$P^(&-O;G-T("8@;&AS+"!P;VEN=#Q44CX@8V]N<W0F(')H<RD-"B @ M("![#0H@(" @(" @('1Y<&5D968@0D]/4U1?5%E014]&7U103"A43"@I("H@ M5%(H*2D@<F5S=G0[#0H@(" @(" @(&=R87-S;6%N;E]P;VEN=#QR97-V=#X@ M<F5S=6QT* T*(" @(" @(" @(" @<&]I;G0\<F5S=G0^*&QH<RYX("L@<FAS M+G@@+&QH<RYY("L@<FAS+GDI+ T*(" @(" @(" @(" @;&AS+F1E9W)E92LQ M#0H@(" @(" @("D[#0H@(" @(" @(')E='5R;B!R97-U;'0[#0H@(" @?0T* M#0H@(" @=&5M<&QA=&4\='EP96YA;64@5$PL('1Y<&5N86UE(%12/@T*(" @ M(&EN;&EN90T*(" @(&=R87-S;6%N;E]P;VEN=#Q"3T]35%]465!%3T9?5%!, M*%1,*"D@*R!44B@I*3X-"B @("!O<&5R871O<B K*" @<&]I;G0\5$P^(&-O M;G-T("8@;&AS+"!G<F%S<VUA;FY?<&]I;G0\5%(^(&-O;G-T)B!R:',I#0H@ M(" @>PT*(" @(" @("!T>7!E9&5F($)/3U-47U194$5/1E]44$PH5$PH*2 J M(%12*"DI(')E<W9T.PT*(" @(" @("!G<F%S<VUA;FY?<&]I;G0\<F5S=G0^ M(')E<W5L="@-"B @(" @(" @(" @('!O:6YT/')E<W9T/BAL:',N>" K(')H M<RYX("QL:',N>2 K(')H<RYY*2P-"B @(" @(" @(" @(')H<RYD96=R964K M,2X-"B @(" @(" @*3L-"B @(" @(" @<F5T=7)N(')E<W5L=#L-"B @("!] M#0H-"B @("!T96UP;&%T93QT>7!E;F%M92!43"P@='EP96YA;64@5%(^#0H@ M(" @:6YL:6YE#0H@(" @9W)A<W-M86YN7W!O:6YT/$)/3U-47U194$5/1E]4 M4$PH5$PH*2 K(%12*"DI/@T*(" @(&]P97)A=&]R("LH("!G<F%S<VUA;FY? M<&]I;G0\5$P^(&-O;G-T("8@;&AS+"!G<F%S<VUA;FY?<&]I;G0\5%(^(&-O M;G-T)B!R:',I#0H@(" @>PT*(" @(" @("!T>7!E9&5F($)/3U-47U194$5/ M1E]44$PH5$PH*2 J(%12*"DI(')E<W9T.PT*(" @(" @("!G<F%S<VUA;FY? M<&]I;G0\<F5S=G0^(')E<W5L="@-"B @(" @(" @(" @('!O:6YT/')E<W9T M/BAL:',N>" K(')H<RYX("QL:',N>2 K(')H<RYY*2P-"B @(" @(" @(" @ M(&QH<RYD96=R964@*R!R:',N9&5G<F5E#0H@(" @(" @("D[#0H@(" @(" @ M(')E='5R;B!R97-U;'0[#0H@(" @?0T*#0H@(" @=&5M<&QA=&4\='EP96YA M;64@5$PL('1Y<&5N86UE(%12/@T*(" @(&EN;&EN90T*(" @('1Y<&5N86UE M(&)O;W-T.CIE;F%B;&5?:68\#0H@(" @(" @(&)O;W-T.CII<U]A<FET:&UE M=&EC/%12/BP-"B @(" @(" @9W)A<W-M86YN7W!O:6YT/$)/3U-47U194$5/ M1E]44$PH5$PH*2 J(%12*"DI/@T*(" @(#XZ.G1Y<&4-"B @("!O<&5R871O M<B O*"!P;VEN=#Q43#X@8V]N<W0@)B!L:',L(%12(&-O;G-T("8@<FAS*0T* M(" @('L-"B @(" @(" @='EP961E9B!"3T]35%]465!%3T9?5%!,*%1,*"D@ M*B!44B@I*2!R97-V=#L-"B @(" @(" @9W)A<W-M86YN7W!O:6YT/')E<W9T M/B!R97-U;'0H<&]I;G0\<F5S=G0^*&QH<RYX+W)H<RQL:',N>2]R:',I+" Q M+B O(')H<RD[#0H@(" @(" @(')E='5R;B!R97-U;'0[#0H@(" @?0T*+R\@ M8V]U;&0@9&\@82 Q+W!O:6YT('1Y<&4-"B @(" O*G1E;7!L871E/'1Y<&5N M86UE(%1,+"!T>7!E;F%M92!44CX-"B @("!I;FQI;F4-"B @("!T>7!E;F%M M92!B;V]S=#HZ96YA8FQE7VEF/ T*(" @(" @("!B;V]S=#HZ:7-?87)I=&AM M971I8SQ43#XL#0H@(" @(" @(&=R87-S;6%N;E]P;VEN=#Q"3T]35%]465!% M3T9?5%!,*%1,*"D@*B!44B@I*3X-"B @(" ^.CIT>7!E#0H@(" @;W!E<F%T M;W(@+R@@(%1,(&-O;G-T("8@;&AS+"!P;VEN=#Q44CX@8V]N<W0F(')H<RD- M"B @("![#0H@(" @(" @('1Y<&5D968@0D]/4U1?5%E014]&7U103"A43"@I M("H@5%(H*2D@<F5S=G0[#0H@(" @(" @(&=R87-S;6%N;E]P;VEN=#QR97-V M=#X@<F5S=6QT*')H<RP@,2XO;&AS*3L-"B @(" @(" @<F5T=7)N(')E<W5L M=#L-"B @("!]("HO#0H-"GU]?2\O8F]O<W0Z.F=R87!H:6-A;#HZ='=O7V0- -"@T*(V5N9&EF#0H-"@`` ` end