|
Boost : |
From: Andy Little (andy_at_[hidden])
Date: 2005-12-05 15:59:46
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_at_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_at_86-C
M;VUP86YY:6YG(&9I;&4_at_3$E#14Y315\Q7S N='AT(&]R(&-O<'D_at_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_at_8F]O<W1[;F%M97-P86-E(&=R87!H:6-A;'MN86UE<W!A8V4@='=O
M7V1[#0H-"B @("!T96UP;&%T92 \='EP96YA;64_at_5#X-"B @("!S=')U8W0@
M9W)A<W-M86YN7W!O:6YT>PT*(" @(" @("!D;W5B;&4_at_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_at_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_at_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_at_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_at_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_at_5%(^
M#0H@(" @:6YL:6YE#0H@(" @='EP96YA;64_at_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_at_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_at_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_at_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_at_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_at_8V]N<W0F(')H<RD-"B @
M("![#0H@(" @(" @('1Y<&5D968_at_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_at_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_at_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_at_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_at_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_at_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_at_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_at_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_at_I*3X-"B @(" ^.CIT>7!E#0H@(" @;W!E<F%T
M;W(@+R@@(%1,(&-O;G-T("8@;&AS+"!P;VEN=#Q44CX_at_8V]N<W0F(')H<RD-
M"B @("![#0H@(" @(" @('1Y<&5D968_at_0D]/4U1?5%E014]&7U103"A43"@I
M("H_at_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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk