This commit is contained in:
Marc Pouget 2006-06-28 17:03:43 +00:00
parent 033f6666f0
commit ef48b25fe2
10 changed files with 320 additions and 391 deletions

View File

@ -536,9 +536,10 @@ f_{0,0,1} ^{2}}}
\section{Software Design}
%%%%%%%%%%%%%%%%%%%%%%%
Following \cgal's best practices in geometric software development,
the package developed in fully generic in the C++ sense ---and is
templated by three classes.
We now explain the API and the output of the package, and the role of
template parameters. Following \cgal's best practices in geometric
software development, the package developed in fully generic in the
C++ sense ---and is templated by three classes.
\subsection{Options and Interface Specifications}
%%%%%%%%%%%%%%%%%%%%%
@ -617,29 +618,37 @@ The following picture illustrates the template dependencies.
More details are given in the reference manual.
\subsubsection{Template class \ccc{Data_Kernel}}
\subsubsection{Template parameter \ccc{Data_Kernel}}
%%%%%%%%%%%
This class provides the types for the input sample points, together
with $3d$ vectors and a number type. It is used as template for the
\ccc{Monge_form}. Typically, one can use \ccc{CGAL::Cartesian<double>}.
classes
\ccc{Monge_form<DataKernel>} and
\ccc{Monge_via_jet_fitting<DataKernel, LocalKernel = Cartesian<double>, LinAlgTraits = Lapack>}
. Typically, one can use \ccc{CGAL::Cartesian<double>}.
\subsubsection{Template class \ccc{Local_Kernel}}
\subsubsection{Template parameter \ccc{Local_Kernel}}
%%%%%%%%%%%
This is a parameter of the classes
\ccc{Monge_via_jet_fitting<DataKernel, LocalKernel = Cartesian<double>, LinAlgTraits = Lapack>}
and \ccc{Monge_form_condition_numbers<LocalKernel = Cartesian<double> >}
This class defines the vector and number types used (i)\ for local
computations (ii)\ to store the Monge\_form\_condition\_numbers class members. Input
points of type \ccc{Data_Kernel::Point_3} are converted to
computations (ii)\ to store the Monge\_form\_condition\_numbers class
members. Input points of type \ccc{Data_Kernel::Point_3} are converted
to
\ccc{Local_Kernel::Point_3}. For output of the \ccc{Monge_form} class, these
types are converted back to \ccc{Data_Kernel} ones. Typically, one can use
\ccc{CGAL::Cartesian<double>}.
\ccc{CGAL::Cartesian<double>} which is the default.
\subsubsection{Template class \ccc{Linalg_traits.}}
\subsubsection{Template parameter \ccc{Linalg_traits.}}
%%%%%%%%%%%
This class provides the matrix algebra operations required by the
fitting method. These are an eigen method for symmetric mtrices and
linear solver using a singular value decomposition.
fitting method in
\ccc{Monge_via_jet_fitting<DataKernel, LocalKernel = Cartesian<double>, LinAlgTraits = Lapack>}
. That is a linear solver using a singular value decomposition.
\subsubsection{Compatibility requirements}
@ -686,6 +695,7 @@ another text file which may be visualised with the demo program
introspect-qt displaying the Monge basis at each vertex of the mesh.
\end{itemize}
Following are some illustrations featuring principal directions of curvature.
\begin{figure}[!ht]
\begin{ccTexOnly}

View File

@ -39,7 +39,7 @@ basis) and the coefficients of the Monge form in this system.}
\ccSeeAlso
\ccc{Monge_form_condition_numbers}
\ccc{Monge_form_condition_numbers}\\
\ccc{Monge_form}
\end{ccRefFunction}

View File

@ -44,8 +44,8 @@ solution is stored in B.}
\ccSeeAlso
\ccc{LinAlgTraits},
\ccc{Lapack_matrix}.
\ccc{LinAlgTraits}\\
\ccc{Lapack_matrix}
%\ccc{some_other_function}.
\end{ccRefClass}

View File

@ -54,8 +54,8 @@ ordered)}
\ccSeeAlso
\ccc{LinAlgTraits},
\ccc{Lapack}.
\ccc{LinAlgTraits}\\
\ccc{Lapack}
%\ccc{some_other_function}.
\end{ccRefClass}

View File

@ -45,7 +45,7 @@ The \ccc{DataKernel} template parameter must be the
same for the classes \ccc{Monge_form} and
\ccc{Monge_via_jet_fitting}. The \ccc{LocalKernel} template parameter
must be the same for the classes \ccc{Monge_form_condition_numbers} and
\ccc{Monge_via_jet_fitting} its default value is \ccc{Cartesian<double>}.
\ccc{Monge_via_jet_fitting}. Its default value is \ccc{Cartesian<double>}.
\subsection*{Concepts}
\ccRefConceptPage{DataKernel} \\
@ -59,16 +59,12 @@ must be the same for the classes \ccc{Monge_form_condition_numbers} and
\ccRefIdfierPage{CGAL::Lapack_matrix}\\
\ccRefIdfierPage{CGAL::Lapack}\\
\subsection*{Global Functions}
The insert operator is overloaded for the classes \ccc{Monge_form} and
\ccc{Monge_form_condition_numbers}.
\ccRefIdfierPage{CGAL::operator<<}\\
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF

View File

@ -1,11 +1,11 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Ipelib 60023 (Ipe 6.0 preview 23)
%%CreationDate: D:20060317155757
%%CreationDate: D:20060628180511
%%LanguageLevel: 2
%%BoundingBox: 80 185 472 370
%%HiResBoundingBox: 80 185.776 471.57 369.085
%%DocumentSuppliedResources: font QEGEHJ+CMR10
%%+ font ZHNPRT+CMSY10
%%BoundingBox: 73 245 472 370
%%HiResBoundingBox: 73.9833 245.88 471.57 369.085
%%DocumentSuppliedResources: font GYRBKU+CMR10
%%+ font ONWWCK+CMSY10
%%EndComments
%%BeginProlog
%%BeginResource: procset ipe 6.0 60023
@ -53,7 +53,7 @@ end
%%EndProlog
%%BeginSetup
ipe begin
%%BeginResource: font QEGEHJ+CMR10
%%BeginResource: font GYRBKU+CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
@ -67,7 +67,7 @@ ipe begin
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /QEGEHJ+CMR10 def
/FontName /GYRBKU+CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
@ -79,7 +79,6 @@ dup 58 /colon put
dup 61 /equal put
dup 65 /A put
dup 67 /C put
dup 68 /D put
dup 70 /F put
dup 71 /G put
dup 75 /K put
@ -104,10 +103,8 @@ dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 118 /v put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
/UniqueID 5000793 def
currentdict end
currentfile eexec
d9d66f633b846a97b686a97e45a3d0aa052a014267b7904eb3c0d3bd0b83d891
@ -165,174 +162,165 @@ ff3b306cb2ce3fcf7d9686a1cb8944b8b07df8bde5d7a957b21ffb84020e61a3
c4fbbae2b52f379e5ef9c48797046c3861af304cd78fbbeda3a5482e452e49d9
c51c1750e081093365e446bad6f017cbb304d9eae9b90595d13547ef203cecbd
060a6f8226f702e521937e5d6ea7aedc90b56e655854cd1a8b5b156902eaa41f
ab5980c38774e255ec82533b79c9e4956ae4e1ed989b7c7d347c200432d271b4
b367e7da1134f1ecb086219104b245347515aea0302e5f8c6414db1238362400
c6b7f1008c6f9743735057851dc62b8d56b6a2614deb1c64082c78e4bf9e513a
38432cfe2f88bdad507cfc54a6db9913fa49411716644d53791abbb105111c93
dad4cd8f13a0417d51bb56e8112fad8001b50ce2a2d88470374dd8fb631a5467
836d56f3e869cc5879e6fff1f5636218615344986f80c1b65eaf6b15c620f18e
16b92292445bd7416ca8040662d0201d69e95901a0514a88220cb0f45c28f62e
ce7a4120ffb9cf4013002f952b8f552331c4ffe01474ef77ab39bfa46737be8f
ab23c61e101bf960563f0a38e733bead8b0fda10fa0ced858d67d9fa7f0711cb
a738309ba90a68407cdea3757a876907e8e4c68ee2487d87d9c1397b04e1591a
2d74a3743a2da5397a1b3edcb527151df061f9e9e660e3b9b48bb3f0fa863d08
5494f4b2702eb33ab65931e881cf214be3e08a08014d6765226e9f77aed935d9
2b3cefb125a3535fbe1ba6a5604a07996d1c2b9a96e115246d1d56df6265fef8
9e745ef4f6eb5e49b3b85b44a2f207dad00edd35ec00be7d08226ee832d7e326
d932a3ff1842879c37f9c320ad66fcc8f69ef56e6afe961c563f62fb7fedf121
7bad0da1c68c4ffaf56674ac570b10128996cf21c2c053256356374b3809b980
b409690ccfff16bffffcc4a7cd857e67354e38cd07bcba1cf7d4125b00bade5a
2023c5ea93fbe0709277d8ea0ffc7b49cf5870d0cd30aac22a776f768c3d7015
2d94c87a6200ccf9a0749696548b213432f1994b7bf69ed02a978f243bde3d91
1f307b0a35938839f15954723161efde41ecf13813e1e1ac5aa63f94ac524bbe
6fece0e290328f6c687fbcbc644f088d6e0b8a3086e4044cfbe53c5a21be7874
a8d6e622b194e77702d5f68e151b734917a637a553cf415efaeec076f52786e6
4db11a96f6640a55797a9e70b07612f5ef31c5db67b0b5dbc9f1dca45325aaca
2ed89765412099a69291c2e629eee8f260b4959721b2a5a8d05e31eb2dc427bf
0c289e7888a8911cb23003704f4019c9712573dbcedd8088516ff7b5cac7b394
5ebf839fccd968b0e1d9ab881ca8a908fb87dede8173e532edb578671094c468
e66f7eb845aabd44e5a0bce86d5c5d16b89b641681c41421da03f62204ce1014
2b7d4ba8ffcacb5abed3ddc55d99da7e3a9f889a109aec0de8e629e33c6c850d
3b009c8a072fccb8719e5788a51ce3e383a95792639025355f04fec029655e52
3603ee2c069e4fd6006591060b1d2b61898ee3aa701cf8bfb35751ca08014522
0320a4f77a9a2a14a668cd53ddbf65aad9b0aafe30fff7f6510b587a99b59525
7cff0651d926037982ee2f673a0339c42e84f727eba858cb0e5f02fd1d7133aa
59147bd6fed644b640b7a999f2a5b78da3437f357d6a43a32764b653c76e4a85
33531467cad6a29efa5bbf0ea084a6b00a30d955800b8cfc563bb951b7766764
41cf8645cf483c7f737561032c7ca35ba2f6569975f7b3e6359e715fcef15dc7
ab5bb50567f8e022e027a78483e04d74c974487d748f73d695117d7f0a3199d4
c4b66535f45a2a1d667e4fb226b69ee721b121ea6b877959048e76a33c5c5991
84c6f0f2b8c138666796ba0165bcafc4093d74df091d440f74d0110f968f7c3e
1845411ea26df8c5860cd3bca9d857d4a3c8169a9d55a2190625665113b55331
fa5aa479806d1e847a22bd60ff2c20f8fca0f5ff93568251782d38b1cac0b7a7
eaaf9187e2f0d2d588f663f97c3f21950672ea9bd85d5d1a7a1d244e79d0e404
e792afe9ba17994d2a52fa3f2c737c1bd75089ba60bf992eea5086a234bf950c
2f8246c91674619d6f2b2734dd0094fb3f72d52ddf5e4ca8195cf09da8726a95
bb5278ad0418f7bbc2010a03cdb407373a2be6558bf9fe668852562387d87acb
6f06644b0fdf4346f9b23faad2bb698e021006f3b756cd9280e53fcdecacbaa3
d9be0caaed1775fade3c3c53649de35d3774fb2819391681b2b033602448c361
05993c72ededed74a0b66d7916dd9281776e73c407578679569245a2978b3fe6
f405545ed6b700b9d4e9b6eed389c1a5e45dd08bc9147791bb4dc90f27f7f770
bbe9091fba723ea14bb913c72904c585bb6f76b36d7f322ca0c027c74c6a798d
9f8f8e5075d6fe02271ed3dc51a1084f67318370349c562ec80653990da83a66
abc3e92804d6da2a00ac95b815e02b6d7a8cdc035113deed4811cac624492b4d
6923493ac40618273bd6305d28eb180a0ebfc8fa3d44f1a67aa9743962413df6
193e012ac6aacf827591c3fc63244a114b4634a1fdc09292fa6a922b00cb4b54
27fdb94249e7ef5e1cf60baabebadda7b0320f45b2b37e06527806ff876647c9
bd30a9ec6a411858331f1f1384494d833d5e18ce538a531b9202cac42c5db018
c8bea497fb8966a86eac616c96cb85ed584149ceccdf0161a09352079330f0e9
9cb6d33930a7eb4fa3ee8bdadbc2d944673948ce4c195f20ace92ae0719e0c17
238e0bf751d1eb6f1207c47406faf1653f6dc1c2ce07bb4e9ac387dcbc96a262
fb0cbde7cd38913587b9185ce1a5dff7aef74939fdbe082b7e01d8f51f9d5e6b
c69a941c66c619254f3a0f7421e5eddfc667541b6564939f62aa3f32d9f6bede
2ecd05e61d116cb8c67591bdaf2731ea0b9795a7aa7cec852356ecbacbc52b11
ef5a9b8362e2bfcd49a4033e54e5e1b233ce21b4b092646dbd57740fcec9fe9e
822cf956d1a8dd4cacd1d628f7976d3474a047c217afab55be0b0fcd3c22dcac
45109c609aa47b596bed709a0c2f28ab85fbe222da2b0b6752c82010814aedaa
484641bc53dbfda80fedf8be80d32beae10ef397d420bd513d83c9bcc9bb5828
4a8ed27a43c633b56a16841f0de4fa953e0da9d6497b88177059f09a94822899
cf41dd751f13bcac677ce9e45c2a034df23513fcdf22a91b90aa543b4f641db6
168b9ba49787a4368b7bcf9e7c96227e33963ca8fa57ad7e88e2f2b1afa834b2
94f8e751235cd6d79043209367012f376abf8490c089b6af12795397c792b070
c62bcfe2e0d468d712110b6ca391cd8a5b717e95ecb1294218eb43f7c9d196d2
9355c1689b687a5e76436f774956b6ab0cd297fc2d6dba3a7b7d205d3aed9f73
e62411e36cf14cb39e1e3fd9494bb5eacd2f84670d4529e80e48d5983e4616cd
dab2645e0d5210a4a300a393a95f9ddd4f41105d24611b0fee72a3e71e7dd268
6aa7821da4381c7c5303f090d2c888602901e7aa8926f8bc8054ef9080a5376f
2edcde17c76ecc7e5bb9acf079c6c8aa77987494fdc24d908df223c3c66d4c2e
42425d251c7dc0f02beb91e2bf4d1e137b3bd142b749c41b6afec6f0d85ffd07
8b01bc6fbd76eb856d0c8bcaf730fcb984bcbc43342fac1a25c98c9537e0e243
a53285c21373cfba7f9581b410abe4664cbfdcae16f978753310abc41bc584a3
e86ad25e53243ba8630e40338286979da63c73fec15128e1aa198f52edfaf89f
5b370240208947c6d3e10bec273a0a35ea3c2eadb891522729a4c85239f02f90
0684311fa8d8a70495c14e8cbac5cd0417356fb995ae9f1c165502c97c7f027a
4014ddcacb2e609396039f359643311ad484ce0fc25f5a04e423d55ec47b6af1
c8fd90bfe5be3e8da5abc47849172f80b56776fc852e2e0cc0c42476fead58d5
fc0797b3fbecac30136c83e908a72201b9b7cc91cdd1a877318788ff0424128b
d0ecd30471e213f453bcecb42ca8ef2ed04f48b79aee111d29c4f23387f77dc1
c9822aec987079cd91dbe40dd688f555a2aac47e9e087203a92497330d8b8f87
0fa35e1a18f8c336489a0d680ca19130bd8c4b32145a56246e29ae658f240a93
311c5d2ee229ed6dcfe891bef2fff40c2e217b1cfefd1c477f9e4eb0045443e4
459cbf6f93b8395af60d8efd453ac48a1bbd6fcc6a183dda311dee47f23efca1
d9356c94316e56c66b0d5396c483244af07688301e86b2d5b82b7f9890c75834
f843f4eb8ae6e718ae45d769b83d2035b0895b2775d0976f42e717362e14908f
780bb8dc43ef451228914cc6a3433782ae2bd383a12205914630b66c83d6e915
95caee77c941f0e9104f9a5bfd002b51dcd5c1ef1c8df322ddd204f8f547630c
5b132ef5bb9c287eaefcd9721897185cccf3b6bbd00f69f1ba051f915637e08f
4fd67c182af1a5c0deb00736262e6988034bea9218f9f5c0cb5c42d50b3e176c
fee3cc2adb86bd6c2ba271448dbfd42c2c5763611f50e167955a9b0d2171044c
8c4ffb21c1cf7b8f4add8c3c67e426f71ac4b8ff5d241bad1208ee9843a6e5d2
5ff44e2d3b447394aaf7f8786e5fe3521ce0bcc27dffec5721f7782d51a44c9b
0297239ddd5c9cb89afd8fbccbf9b0595f03ff46d8082dec4cd59ecf252633a7
259c3d13a173654fd5351d32fbe5db086c38dd679146110c5d602259157d0be7
391b6ba5356b5c9256424d12dffd907cd04340f8e74e24a0cbf49a381fd8416e
8a007cbca29949bee7d3946c91b5f623648a578124b1e39a8ec32e4aa644c6a4
a7a4a0a6e726b7add519e827490f09ea7672f844fea5fd38497010e01e950e45
163c6b75176f89f1b509f2f654d2625dd748d970c02bb007ce7e2f271799a546
5d31cd6b4642c4ab0697bdf42e8d0d5e60a524b20f75828ed6eb3d09f10d8add
b7e8c7a6249485ded8f18bb41dd655afdc8c1263464441ad9ed08ee038327bd2
782131633ff232cec967614464591e6ba1898f0ba60205114ad7d043f9b3ffd5
4c02e7a5cb8a8722d51333eea042e25f3165b18a9f5a1a4a9e4086a4e78d67e8
f0155a94f7e9fad1df9a3a78a11013e348d3a9c8cb2fa3b13a89fa31495461b4
b2160a7757f6de0b64bd54cdbb146f118c11d7715195d9cb066bf3d14d66712f
c2de179a85fa52c6110563c18bb16896c93a38a74794f5de4cc4fc594ffdff0b
faf4bdb8b371a976ec593769c14df2425637416630e8c1633ca391dd9f3cc8e5
b277bd7f25a732b2779c8871758202e1f250edf01006c2d81953275555ef33d6
8c8a1b043f089978fffd0e0dc8398c053f101913ae910d8d933bec237189cb5f
10f2afeb8f8cbaa4dc9c636553d898fff412dafea6840cb349285bedf709c21d
74488570590f2e1a13e8d899e784c5e78051341b01f380e6b767fb6eaebaabe6
3c863af31d4eefe5ec3853d2a73753b8ebc5828110de3bf6a70cfc3ccf14a829
e500850bf9478245add033955211ed71d4c1f654824be710fc65f68ee9093732
374052f3b02c28745506e6a055ea1de894727fc56fe4ffca2046d84a158eeaa1
a1a29126afd7885fbb3dc1ab31162d67175db36a4b41049841f76b2e2039b14a
a41be1510db3cdf0408925e7ca7baf65235bc116ff8376f4f2ca86cac78d2f14
5d5778645ecbf7c83140632a27f9682fb4cf7f8af16d477ec80b2b67f1429799
54207f6aeca81549dd1dbe54e90eb688cc0ed34bbc3364bd4b928ef01a571a23
8c5f193b1ac9c3b379cebdfba4b76c385e26eea380a89743eef42ad8183ee694
74bf0e3119cf100144aa2d7b2abe948dd608dbc19ff654f76c9407d1dba5b2c5
9ac49f17879baf49c38f0842dc3affe555094650f7a5a668f6cb130c71502e96
a88d07f3399f3b3d3bd304df7d64178592c93a30dc143f2274b1d3a1f59979dc
edf66613e45dfa6afe031cb9835a8019ed29377a872eceb5e2c170cb5e5bb144
b29a67c8f44fa43b770f131f8eb92a6edb852ffdf8affc55111edbb39051854e
98e7bd4354085a83f8f12f6e467716352380c7abccd9849e2d6fd7396ceaad26
70cfc91c56b531f042c4e0bcc4c12408d41e535785213cd9caa2684e25729638
6bc8d7bab63969ea67e532912deea57225fd98881fe6335b532c4a30475401c8
415fed94b177ede707bc2822ff32d9bcc387da872e48b370b782a4d74377fa43
6db19416471d95d92409dca731313dc97e9db85890f383e380f5af4ea08134b4
89d3eb7c77f45520d470211a34998cc946b2e378792e173bdd4b26093e855e89
9719a5ec8236db52e847125eced753a0102e9d57741a25b13fb9ee60cebe5a4a
4b30867d368818784323270cd7dedd1f662271a2c906a206c7e105f48f9510c2
cd7435b79cf79c91f3a628e8fc97257d5e799b7d0131a37f5b0a58e6f0989caa
9a3f1a5aac98a515da8d7aff58c8be4dfd933987d14b62f080c72fc1894ba477
a32a86c4d23c70584d3119b5b5463f0484650010c9ac80fcfad166c553054e1a
37f4c28aac4775cbf528d8ac71d793598caa90c5d96abec9d6561e16757487be
ccb390efb7abe3e716b9ed5ef198456a9b4aaa1e58517795a3e7a18c6e59d3b7
64d0decae0481c639be3f5a6b7f3f935e69f6fd23bd0455929f2b147b2cbaa29
927a1e10ae11fb828506bf42e5a7720fee61bff5bcb82729e27c68f35b62939e
574ff31d222537556b21673e155b90ecdf8d46c1d5dc953798499fe381895ec6
a8d42426c16c96391cc60ed2d9d9d6387e16e8a7ed9976d44bcb0aff4085a060
9381f5a4ad8990bde425594f927e5c1e8a6a6731feeab01e58d44cad33c57f48
6f3e8eb4a7cd49835873c2a152e49897cbeb77b81b2e2d28e49c5900d88efd50
05a7acb67c1afdcc0e28d73d8e4f8cf5182f0ceadd77795febd075b96bc2a2d8
d3737bc6e18085eca5edcf588ce112c8ca36448f9f11e6fa973314c97ff40f5d
9d597e015cbb2eb3370b6338b1a5fccf2e6a75fd0a6c1bffbd725b9d6d82dd05
180536fa819e2930c9a4eaca8d984a4fd3a1f3ec9b079c28ce2de5be82b8f40a
065f849d70d3a35063c954fd1380b1f05f9d31ffe8d08f78cf7efdd8a02288f2
2b4c4e44a2cd5596a2ff82c6f8e964781244d69e8e0079e3f043acc00b93e0a1
10f5b927a01ca981b84f3f0827d905fd803c79f1611e55c00611c89ae6dc3546
f2324b6d6976c8dd5efdccc7acb6e26cfa0550fabbc009f80ac8ab9e0e63c5cd
126c47e15937cfe4473d709eff9d378a898f57f49d4507c5a52c83625e27a6ee
5d48559c4733f26fa156492b7f570ffc1756752193c2ab7111756f53fe22efd2
e92906c0bd7f4fe374fef8b460f70d2563f6d11d25294ebcb0c87ee6758f96d4
8cb4bfd4b96790eabb6d5ee8c5b4cc37deba964bdc9cc23de643bd28ece30bb4
6e6ab3d6d70a65b1505e76d2945fff0c94ff51118aaa0751ee6b60acbd879d28
725917a6decbacd7ae05db4fa6fc0ce2ccbd85d452284054f8b74dde5958c814
89d726b875fc7a88667ef70b3ea002e5982380a8c0c3f0f6f8cd77ece42e65dd
d66aa4d2c16c2db91c94b489bc3379b5ddc9141b69f262d2853f9264f9b07e28
56a5e959ea1fccca00049f7bf7619939786b0972ab75600b7c26e1b218cb61de
3984d68fd0e3fc551a0725c7372333628c9ffe77edbc9bec2eb77ea869cfbb85
04dc4469d4d1d6155fd9d61d8313abe26a809e967362dc71dbb0ac3486c1ecaa
767ebc1bc99daa5401ceaee12179dafbafe9e9f7ed1e8f8eec5c09e6b72c
ab5980c38774e255ec82533b79c9e4956ae4e34aa5ff93d01de53ea6a571b2a7
dac704f7d2bf45aabd32dda3b3bd969a274055debb369aa7cf3d34053380163e
66c0e94063cc15e5fb275f9fd4af5f4878cd419c82a4ea3ec14c316d5b418486
5ef6b4b26eff4c3b9d33e028c94640483df1fa04dd2dce0b6c57fe7772db8301
4f914cb4153ab6abbdc31946e2f1cbc5c768b95d232378907f21a16d0395cf70
c02e175b7bdb3baa92790c6b2ce57caa789f257b8d247518a6d9aa06b8818e0c
42bf4f673dc10a257e5747032240d849b341479f58cb62aff8450d3922cf0048
1d12312f3e25e7cf5dde857a0c51ec1858c5e515999877b4a212c587a4117d7f
20373590c0d8fae85fbefa3a67a5bfabc590d752320a772ccd6c71f1856a1ff9
5d9ed333185d44d9749a27e00e35cbb12371713012b4dad8b85d69e220ccf550
75f5f5e552b6e16f2b80cb3d32847a42c7e1d4d5858938c75741ada1b1d2c384
9451cdbe8b46ff6e0760bb43a3dfcb6462f2be0bbd5502d82033366adeebaea8
f2d78b69976cbd40dbaa6023c922466f5db8f09fd04930f7882484efaa778c36
92bd42ea99d6000bbb57fcec945ca5dd7c77f31ad3c6f1dce21929f868e22417
219c6ae044f8a22343fccfa6743501ccb36c9e30134fd7a8fcc803b43cbaa190
11d6f303ac39200bfd6f4c4cfb25e29f90bc73fb05f494120239f0f3d32a7101
ceb50c0b5674d82bc9e30209d5ca0e85570042984fb9d7e99c2ee56fe4ab63a7
f20015019b4d1eaa98614a3f6d401a23626d586059a71251693c2cd3898e7c4a
35fd61d67a85ab4e1462beb42cc2f0395e9120b0c4a3c96ded59d0bcddc1a3bb
6b90bf1e0a917c1b74485ac5651352c4c66ca71a80594024c2b7b82d340fab70
c4785aa8c8c5a223fc9bc770b34229240b28f08642a7a24ae623bbc6744ea5c1
5468aea39d0f2748523d4cb5b2f29503689b28bcf81599e5c6ea31d4c94e7622
862601dfe33bee043622a9c27761f4fcafd6b3c000e2a6baabc06c90b4493050
07a245ac7faf97c5dad7fc439ea99f54db1b07bece45c1fc96382e8774cb5afd
a98eea35925293b6ac625d43dee8b434c8618899f4d3f53e40760592c20e8681
10c689a7f799ebfcd6da38d7a5c917673d6f907c40044a3056677fd8d0c43b7f
d17756b91a26e8c0a29284bf0f6fbd900c9731e864427151a91f82a00c9410ef
5ab32cb02f6e96c25c6b38f381399efdbcd4e2f6e3a1b1e5eb2b1a4bbbe4719f
93bf7f97b36bb4e92a4961f3d4de2d993924bcac1c851d2faf7b5aaca46199c2
42d980e66d41efeb8a00a3f2c8d5b5cc9d370d700c5d5ba1df960597b6aa3c4f
e944ae84bd01ce9c4939970de3a8922f6270b36a6a90b2d85ad5734b94ad701d
9c4a05053d30eb8f3670a09436ab33cb335bd380387f844bd4b93b87fb9a8fbe
40168a8197217928a3587fba2e9bb45fb6ed5e48bf733debc99728560dccd599
00e64592e9da347f6408ce2401aa15074a48f2d3d8a7992d8962902a73b99bcb
03b6ee75040e53ccb9863d507e5f58829c4a483b67e84426012e3c8be48fd1ee
6f9a13eef3db8ba3681eb4c2239a92e10891c21558d75ae4c1d0bfc49dd6c616
6eaac6eeb9fd8716fd6b24bea18108badac67e982102eb90627ab1817959a9ae
2a3cf2c96d8433b5e7f5ec15a72fa35a486c037fe5ed451c35b35156df328bc4
00ca04656680a29f84f6f4461023aeb5bbf3adec15402fd6867dba27d1e8c4f5
c7970a68c95440edfdd1c463ac78bcb25b7ef4b48f82c20553a3dd9df2fef5f8
1b782cc0a5f5cafd66e559ea6718ed638cc4b3d420d7dd40115c5002d0fe518f
b8c58e48d42c884bb168b96179c79baf2e6a88481cb91ba82abea5b3a6fbad50
b9f49a520efe63b30aeb7b6c90179c665d0c8bee2ad9cc403e6b68fe134f54e2
ee27cd583cd0ade83529e4dc3e08e84fcd3d84cc91ff8ce499b9ee1945829f8d
415ba7c68fb7ab65f695166a9c735f4bf94ffb4280ffaa0a5d487d2784d24aab
4a449f550d504f75ebb2d57e61a26a8c9c4a36df8f5b27aec72b68cb7795c096
261765efe48030030f15adde9594bf3a4a182d981e123543cb56495a04f845ec
98be7cadd1bb8e231885f5788dcb109e12bda7c76aaa416cc5ed8b81e083c566
d81e53836d198a290ad03cfd911944e8203f747169d100e5ac80b0abe41307ae
e8756fe4d94f2ee9bdbee6065857511f04ae7f69cdc5b244aee7a56117936421
77abb1222d000755ffbeb1c8e1f948496b4577fcc4a56fc773cf1f33c8fa4586
3dd407a888cfb1af609d30d2a5b317eec875e98f791e51f1b622e7499886ea94
a76734ae9c306d451785c83c746822cb7f01e8d386c0f650b6b5956e59223d60
f9131f9f48eff00a191de47d6b406c92e617fcf58af05314ca4285859eaf0491
1664ab45985075db178878be6aaeaf1383b05c130102ca140a69d40360a1ea0f
965bdc0ffbfe1fe2407fd79028de8f006f90123af0fcce1a92b76534a757e5d6
99feecc4749400d183a6eb6c6a23e9f137a9323fc8bcba37c4fc7d47509e4837
b9474f46dae9578c32d521280c7b8d6cfe4b569db8ef31c66d9dad1bfdd1fb9b
494ce499bdec42feae408d4e089f555ddd77d15e6528da578864cc7678e6f707
9b8483dc0df6995a4f1244dec80a1a4b7c6f2cde4d72e95b80b6d59174e002fd
923dd09e8923dd30470d91f46c66de7d9bc12a4533aa0ff9cf0d000a88cb90c4
5fc2b0ec7ef14c98cedaf5c7e8572e3086b0bd89081b1c7811c0bdfa43101599
f16d140c447fe43ee5cddf263d6e6cc6a956efbcd12979529d12834abbbf3681
739ec404e5fb0bd00d25113ca137519eb97cdced2e858cad24ff95741a93bd6e
ff782d624006ef3658fe29cecf280f29e5378a62cca85e1b5fa0874cd8dfb714
b32bd16ae1fad075971ea03618cd12ccff0619621849e06bc10b1976561cd67c
9487e3e6710a5fa3e73072616c6088f92aabd853567be8e3776b5ff0aecc1201
9f730002d73756a8f99c26472523c1a02ed38ec66127c3fd6080def2be5dbd23
94ea5315d5a1c22f6fcf61a87fd3cae3a33304b31fe9edabfb536a44e32e4bf1
fa594bd605dda08514596ea656864cd675c2768cb07aa711162de8c81e235e5f
ca21e1c7a529706829febb0d1a0999c49d928a369238f83fdb2994581b9c59a9
de39073c78a188593443535a534c08d260ebdc716febde1908b10986d48a040b
17d2b5ed4d8d2131dd0fad6bee5c220ba3b7aea1af3a00b79602b462dd07da8d
ce24f3d7228a9b3418b7245170b1a71254dc2dc8a3221a3643dfc0f033349edd
0148cfee6e798062108b014621f35d979e4f934b1fbe5bdd76ae2037dfe54bdf
313dad6839d1fa4a3cb4de570becdf46fd590596405cb43300dc56bdf56d9010
752d5e14937f64b775f0a5c98c158fd786ff5af10acebfda6000ab35cec48ffe
4b2b8ceb2d90ee7440137cc70cb8663efda664f9b6d1ad8cdaa00963f0cbd019
cfeefbd41942a9a52a26f37dd3a1a866c4ac7444cca2f8812d77c497aaa17e92
9ecd905557b0c9a17df2b651e32d9a621fb66c8430fab6f64a47ad28ea8621b6
7198a428a12aa255ef840e9474b4cdce9f7c39f4eb810154012e6eb86b4ade8b
cf53991a9ff7f30e0a9a2307dfd18225bba88579cc9f85a48895256b4ead2e3e
6e9129174189cbb4c1430176a5c6ee741d5721f56bd4dcd8b0456fbe4e499f06
daeeae0ada8996ca3f2166eba1124a5cad28e33cf994514d217000f004e63b9f
5a493f08eef4e81597bea067eb165a6a6eb6ec5d24bb803b2e7442db1a27c3b9
6a3a7ba0e1ff48dfd69ac61b9847d5faf5e55aae767e1a132f9adc08f948dfc6
f752082426ad8aae8c3a19c80cb01640cf781cfacbf38460dbe707860329b7d7
143dda044b29eda0a4a881a98fb24b477926969bf8f9e4ba95308e45a053c9bd
a64e2d465e0a857b957307077a36dd3caf98faf7008e20ee0372c4c6da4d4c8b
e28a41e861f40dc1770d5766fcd9bef091c41b47f8677006627bf277fbf0bd4b
426bbf792bb9c26834b637dbd76e7eb9280dc581ee94fe7976f9de503478310e
27279549db3ba0b3b0087f34f380f67c97ab54275c67bef84c60a32042c1a651
140dc2331bc110494e312a00fd4c933c025967267bc27a19e5b3ea943921cedc
88b13a6b530d3470570b6d41a675a23ca88c841a5aa18a0f94293784a586ae8b
ae1f5be694dd14a245709fac2de1c90a916ecb218c7f5a6b092f139834cccbcb
4cf7f474e52873f70bacbb9db55c7498918aa0d60eaf08d8985d2b9bbf0e2b41
8e4bbb779f59347b8c217a89d637735c2aa4404821dbb954d9d09484bdc305cd
ccd88d55facbe9e4041d0951381ffefd8e97932df209d8f8d207915b950b55c4
f3aa1ad0c46bf178edc850eac165489798584bc204da6a5c3eecccf8ffc1cfeb
d41c7e26ab3710b6669fd0e8184eb95f3e72adade8d0dff4c1845d909085da94
4b90d67dba1929d792ea2bdb93439658c1ba88a8aa71ef226706e399ee427cea
53c80014959ed7c754675ec9a07a10670e98e083dca1837b78e62a2a418c2418
093bf18f94858a11e1c4f91333f6ad6adb5b76a3751143aa3fdedb0787749668
5080ce973284198054acdbc4d6b16d541b98d473ba4db75b317a6b0b6f6b743e
0b40720f1d5f2ae2ac7c6840976811247e916752462ea996d54b8245d6548587
8e5c4508b47d6da54d916c5551ca91a0df0c7128ce197d4aff863f6068ad13a2
6cc78776d50256ddb2abed953a6de4223234d7b47d1f7aaebb0b9f9695f005e2
8fdb1811e51e8797831edf7c4c81085b38f5eff93f2ac538a540d044ba49078c
6c70d9ce042bcd3ea249845bf96e729b761f795e6c2d3e94c28777a600a6bba9
029aa75b243d23a6695b56cecac487bcfeb313e8222378e90416ebe2624daede
a8f07b40e8e3bd04333f9eadbac751bb3f0acc71b0ffb63e005649a08ddacb59
639a5e7ae9adad9978d922198b32855e5a1e4aec9f418a1ae1e77e55bedafced
f0fff9eab1fe12bd98707f88c6ea7db4a2253def50edd6c8a99153ebd344b1b6
62e818b4e0e4bb07a34addb73e7fa1d3aacddcbaaf8c5a8dd3a538a1e682e472
dbb0ab0eda1fe3da817902602d8ea253def3204be9374efd5843f2c9effb256e
6ba3e17b97ca6c46913263f5107a3849dde8ee2cdd0533a48fd128641c4e4d73
d0f0a27f9e0ff6c5ad546c69e3fad1d7840fa184a731b7bc116e44f5bd2bc866
c1836ebae87fadfbf3f1f6214fa0bf187d61633288783886b93abb8f97908e4c
846aec5cd9757c242a1c6b017f2461c0646fa8a89107f023797f768ebc486deb
f9a3b5131a17ba81461b3b36bf50f92e7d83e36d0e94dfd2dc0b96f16a4e3941
406b52ebade072931dcb8c8f1f8161bc7e43d58efab0ec82e136a34b1c0fe7b4
b4e7ef51c77d0e2063be4e0dee7bee4d9a71255870905a78bb2dd13a10ee807d
7a208da9ba29a6d8d16d345b80bbd974c8e879d0eb3dc773bc2761f9133122b8
c85de860d675842148a90546edd17064672bc478efdfe5354d27bc140298fbfa
de6695a44ddb8375fd86a8e334038cce73038b51fdf856c87c6e65c7703fd27c
a196946d57bdd1c111106fc2d411c8fc8c357d95b05358e5f83766c821c0d1bd
581a523bc35332df8dabe979aa4d179b194f07accd39da4b960ca57a47bd27cf
3061a6c85267ed1fc03f8ba5289e1e4a7542ec2294c03fde92a166106b7605df
b91a4bbf076a1bbcd0031ceaf6f9aeb79f41ba8e94d3d5b602bb0faa32d7989f
ebc8859724d335068d0b540355bfcd4fcea0eaed3737ae1c0bb465ed383c73fa
f2e633ac8a8fa2e79b574c2b1a3208abcad0a9ce6facd7465bf808f3c903b644
1a724007912d6bfa1e03540f4579174ef506897f85f3c91f323d2ab3dfa71851
bda5b1675057c4cfca30c734188a180537d4f5608258c0d3e252c412e33fbef3
26be379c05280c809baaaccf5dbefcc536598c3246a07ce941bd2c3b267357fb
8da1f6fb2474ec961a70ab0363c352d3c5cd1e7fd12a1af66d6ad92bb4480c2a
291ea02e0773bca6cde17853f2ee7e8aa287723f6ebd151b5a3357b4ba4d945f
30c0878d27ac52c6dbbaf631b05d84b1413ba6dbb29a649a5a2460cd55fed5d2
177762a157a1d291d09e14acde1c688522696d323012ef766cf4c1d0d15acd00
35dad49a77cb35c44eb2229d69c49deeee6c276c9c79d91c4a6e65c4979d0dd9
b3e929ff471b92a919ca7054cafe9af7b9525ae31844391b9bce9e41f326b799
060bfe383e7ce6637e001d461b6c616140e5001ddf0779530c96b0d5f48a82d4
b3bf762f757282c5e879649875a8dad237133ff9131c3691b412c2c0c91b2a0f
4adcb8975bb88d8edb3d2d1d8f1b5ef83153c82396aec2089f9c36303e097131
77ea2c8841099fedcce0d8a667d116403c0592189390d00146558db444cca2e2
b23552aa053f49f46a2bbc122cfeb27c04196cc26c75708d8b3f65962d382e4f
267c94ff0e3bac70e9ad88fe8c650e0498190c80802ec484fc2496b2fa8cf1fd
df30c2390f3a6fa786b339228d5df0fd50f2067a412b178a71259041826d8ebc
c2490108c5ac3edf80420b78aefc583a9ca3c6511d250c99e3b152e34146ea5d
72fa50262f2ceee40b706d63162e9ce3615af30c2634e06d872bf45d1ed991f2
add0256e66c8f72e891d96373622c30c54520b997cf4ade4bb61f5030f818062
1c80752b78729abb7da4e3aa82faddb8446901ce005d6d7f687751efbe3ad777
776043fdbf6345ead22c3fb58a2f8784c6a39ed63ce8e3fa3fb474021b24d180
79f1773bc9e5c350c82eddd4286e4bd43700596f1849d868f4a8e195bd49f557
295cdb153b09ad550cdc99534d31be2535000355ac167661c42dfb2af7853608
10cd6c4d3036fce7f5bf4dd766be77a77482ef3b44985a76e8a6464e02bf69e6
64401992be7dc4588d8564455b879d6da3f3f3a3d83d69324e77e2e55625fc91
94e71d9e42fb6e1cd41f240619c3a80687679ddb60120e5a306315a6045f9af9
768ac0b5344cf04aff64ab9626902cb3aaad8fce35a1d6cd1674f3495ef3c150
95eab48989ffe652cf8d9de0c0513bf24fa980b135122d075d7e6569db
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -343,32 +331,32 @@ d66aa4d2c16c2db91c94b489bc3379b5ddc9141b69f262d2853f9264f9b07e28
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndResource
/F8 /QEGEHJ+CMR10
[ /Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon
/Phi/Psi/Omega/ff/fi/fl/ffi/ffl
/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring
/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
/suppress/exclam/quotedblright/numbersign/dollar/percent/ampersand/quoteright
/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/exclamdown/equal/questiondown/question
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/quotedblleft/bracketright/circumflex/dotaccent
/quoteleft/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/endash/emdash/hungarumlaut/tilde/dieresis
/suppress/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/F8 /GYRBKU+CMR10
[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/ff/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/three/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/colon/.notdef/.notdef/equal/.notdef/.notdef
/.notdef/A/.notdef/C/.notdef/.notdef/F/G
/.notdef/.notdef/.notdef/K/L/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/S/T/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/a/b/c/d/e/f/g
/h/i/.notdef/.notdef/l/m/n/o
/p/q/r/s/t/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/space/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma
/Upsilon/Phi/Psi/.notdef/.notdef/Omega/ff/fi
/fl/ffi/ffl/dotlessi/dotlessj/grave/acute/caron
/breve/macron/ring/cedilla/germandbls/ae/oe/oslash
/AE/OE/Oslash/suppress/dieresis/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
@ -377,7 +365,7 @@ cleartomark
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef ]
ipeMakeFont
%%BeginResource: font ZHNPRT+CMSY10
%%BeginResource: font ONWWCK+CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
@ -391,7 +379,7 @@ ipeMakeFont
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /ZHNPRT+CMSY10 def
/FontName /ONWWCK+CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
@ -400,7 +388,6 @@ end readonly def
dup 2 /multiply put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
/UniqueID 5000820 def
currentdict end
currentfile eexec
d9d66f633b846a97b686a97e45a3d0aa052f09f9c8ade9d907c058b87e9b6964
@ -435,32 +422,32 @@ ed02bc
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndResource
/F14 /ZHNPRT+CMSY10
[ /minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus/minusplus
/circleplus/circleminus/circlemultiply/circledivide/circledot/circlecopyrt/openbullet/bullet
/equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal
/similar/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes/follows
/arrowleft/arrowright/arrowup/arrowdown/arrowboth/arrownortheast/arrowsoutheast/similarequal
/arrowdblleft/arrowdblright/arrowdblup/arrowdbldown/arrowdblboth/arrownorthwest/arrowsouthwest/proportional
/prime/infinity/element/owner/triangle/triangleinv/negationslash/mapsto
/universal/existential/logicalnot/emptyset/Rfractur/Ifractur/latticetop/perpendicular
/aleph/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/union/intersection/unionmulti/logicaland/logicalor
/turnstileleft/turnstileright/floorleft/floorright/ceilingleft/ceilingright/braceleft/braceright
/angbracketleft/angbracketright/bar/bardbl/arrowbothv/arrowdblbothv/backslash/wreathproduct
/radical/coproduct/nabla/integral/unionsq/intersectionsq/subsetsqequal/supersetsqequal
/section/dagger/daggerdbl/paragraph/club/diamond/heart/spade
/arrowleft/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/F14 /ONWWCK+CMSY10
[ /.notdef/.notdef/multiply/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus
/minusplus/circleplus/circleminus/.notdef/.notdef/circlemultiply/circledivide/circledot
/circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal
/greaterequal/precedesequal/followsequal/similar/approxequal/propersubset/propersuperset/lessmuch
/greatermuch/precedes/follows/arrowleft/spade/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
@ -471,42 +458,19 @@ cleartomark
ipeMakeFont
%%EndSetup
q 1 0 0 1 240 320 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
1 0 0 1 0 -785.0815 cm
BT
/F8 9.963 Tf 0 785.081 Td[(Lo)-28(calKern)1(e)-1(l)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(Lo)-28(calKern)1(e)-1(l)]TJ
ET
Q
q 1 0 0 1 80 320 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
BT
/F8 9.963 Tf 0 785.081 Td[(DataK)1(e)-1(rn)1(e)-1(l)]TJ
ET
Q
q 1 0 0 1 416 320 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.937 cm
q 1 0 0 1 416 320 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.9372 cm
0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
1 0 0 1 0 -785.0815 cm
BT
/F8 9.963 Tf 0 785.081 Td[(Lin)1(AlgT)83(rai)1(ts)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(Lin)1(AlgT)83(rai)1(ts)]TJ
ET
Q
q np
128.368 309.017 m
225.735 309.017 l
0.4 w S
q np
225.735 309.017 m
218.735 311.35 l
218.735 306.684 l
h q f* Q S
Q
q np
128.368 309.017 m
135.368 306.684 l
135.368 311.35 l
h q f* Q S
Q
Q
q np
295.41 309.463 m
400.816 309.463 l
0.4 w S
@ -523,34 +487,22 @@ q np
h q f* Q S
Q
Q
q 1 0 0 1 96 304 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.192 cm
BT
/F8 9.963 Tf 0 785.192 Td[(FT)]TJ
ET
Q
q 1 0 0 1 256 304 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.192 cm
1 0 0 1 0 -785.1922 cm
BT
/F8 9.963 Tf 0 785.192 Td[(FT)]TJ
/F8 9.9626 Tf 0 785.1922 Td[(FT)]TJ
ET
Q
q 1 0 0 1 432 304 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.192 cm
1 0 0 1 0 -785.1922 cm
BT
/F8 9.963 Tf 0 785.192 Td[(FT)]TJ
/F8 9.9626 Tf 0 785.1922 Td[(FT)]TJ
ET
Q
q 1 0 0 1 336.5 315.27 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -788.345 cm
1 0 0 1 0 -788.3449 cm
BT
/F8 9.963 Tf 0 788.345 Td[(=)]TJ
ET
Q
q 1 0 0 1 163.205 316.61 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.872 cm
BT
/F8 9.963 Tf 0 785.872 Td[(cas)-1(t)]TJ
/F8 9.9626 Tf 0 788.3449 Td[(=)]TJ
ET
Q
q np
@ -576,165 +528,135 @@ h q f* Q S
Q
Q
q 1 0 0 1 247.62 362.167 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
1 0 0 1 0 -785.0815 cm
BT
/F8 9.963 Tf 0 785.081 Td[(CGAL::)1(A\013)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(CGAL::A\013)]TJ
ET
1 0 0 1 48.128 785.081 cm
1 0 0 1 48.1279 785.0815 cm
q
[]0 d
0 J
0.398 w
0 0.199 m
2.989 0.199 l
0.3985 w
0 0.1992 m
2.9888 0.1992 l
S
Q
1 0 0 1 -48.128 -785.081 cm
1 0 0 1 -48.1279 -785.0815 cm
BT
/F8 9.963 Tf 51.117 785.081 Td[(tra)1(nfor)1(m)-1(at)1(ion)]TJ
/F8 9.9626 Tf 51.1168 785.0815 Td[(tran)1(for)1(m)-1(ati)1(on)]TJ
ET
Q
q 1 0 0 1 245.386 245.88 cm 1 0 0 1 0 0 cm 1 0 0 1 0 32.766 cm
0 0 0 rg 0 0 0 RG
1 0 0 1 0 -792 cm
BT
/F8 9.963 Tf 0 785.081 Td[(CGAL::)1(Linear)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(CGAL::Li)1(near)]TJ
ET
1 0 0 1 62.684 785.081 cm
1 0 0 1 62.6845 785.0815 cm
q
[]0 d
0 J
0.398 w
0 0.199 m
2.989 0.199 l
0.3985 w
0 0.1992 m
2.9888 0.1992 l
S
Q
1 0 0 1 -62.684 -785.081 cm
1 0 0 1 -62.6845 -785.0815 cm
BT
/F8 9.963 Tf 65.673 785.081 Td[(Algebr)1(aC)-1(d)]TJ -65.673 -11.955 Td[(CGAL::)1(Sqr)1(t)]TJ 0 -11.955 Td[(CGAL::)1(s)-1(ign)]TJ
/F8 9.9626 Tf 65.6733 785.0815 Td[(Algebr)1(aC)-1(d)]TJ -65.6733 -11.9552 Td[(CGAL::S)1(qrt)]TJ 0 -11.9551 Td[(CGAL::sign)]TJ
ET
1 0 0 1 52.058 761.171 cm
1 0 0 1 52.0576 761.1712 cm
q
[]0 d
0 J
0.398 w
0 0.199 m
2.989 0.199 l
0.3985 w
0 0.1992 m
2.9888 0.1992 l
S
Q
1 0 0 1 -52.058 -761.171 cm
1 0 0 1 -52.0576 -761.1712 cm
BT
/F8 9.963 Tf 55.046 761.171 Td[(of)]TJ
/F8 9.9626 Tf 55.0465 761.1712 Td[(of)]TJ
ET
1 0 0 1 63.67 761.171 cm
1 0 0 1 63.6697 761.1712 cm
q
[]0 d
0 J
0.398 w
0 0.199 m
2.989 0.199 l
0.3985 w
0 0.1992 m
2.9888 0.1992 l
S
Q
1 0 0 1 -63.67 -761.171 cm
1 0 0 1 -63.6697 -761.1712 cm
BT
/F8 9.963 Tf 66.659 761.171 Td[(d)1(e)-1(termin)1(an)28(t3)]TJ/F14 9.963 Tf 57.866 0 Td[(\002)]TJ/F8 9.963 Tf 7.749 0 Td[(3)]TJ
/F8 9.9626 Tf 66.6585 761.1712 Td[(determinan)29(t3)]TJ/F14 9.9626 Tf 57.8665 0 Td[(\002)]TJ/F8 9.9626 Tf 7.7487 0 Td[(3)]TJ
ET
1 0 0 1 0 759.234 cm
0 g 0 G
Q
q np
88.1705 225.049 m
132.834 225.049 l
74.3833 305.475 m
119.047 305.475 l
0.4 w S
q np
132.834 225.049 m
125.834 227.382 l
125.834 222.716 l
119.047 305.475 m
112.047 307.808 l
112.047 303.141 l
h q f* Q S
Q
q np
88.1705 225.049 m
95.1705 222.716 l
95.1705 227.382 l
74.3833 305.475 m
81.3833 303.141 l
81.3833 307.808 l
h q f* Q S
Q
Q
q np
88.6172 206.29 m
128.814 206.29 l
78.021 280.787 m
115.092 280.34 l
0.4 w S
q np
128.814 206.29 m
121.814 208.623 l
121.814 203.957 l
h q f* Q S
Q
q np
88.6172 206.29 m
95.6172 203.957 l
95.6172 208.623 l
115.092 280.34 m
108.12 282.757 l
108.064 278.091 l
h q f* Q S
Q
Q
q np
89.5104 188.872 m
126.581 188.425 l
0.4 w S
q np
126.581 188.425 m
119.61 190.843 l
119.553 186.176 l
h q f* Q S
Q
Q
q 1 0 0 1 106.036 230.409 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -788.345 cm
q 1 0 0 1 93.0147 310.069 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -788.3449 cm
BT
/F8 9.963 Tf 0 788.345 Td[(=)]TJ
/F8 9.9626 Tf 0 788.3449 Td[(=)]TJ
ET
Q
q 1 0 0 1 100.23 210.757 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.872 cm
q 1 0 0 1 130.086 304.263 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.0815 cm
BT
/F8 9.963 Tf 0 785.872 Td[(cas)-1(t)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(is)-334(t)1(he)-334(sam)-1(e)]TJ
ET
Q
q 1 0 0 1 143.107 224.603 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
BT
/F8 9.963 Tf 0 785.081 Td[(is)-334(t)1(he)-334(same)]TJ
ET
Q
q 1 0 0 1 139.534 206.29 cm 1 0 0 1 0 0 cm 0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
BT
/F8 9.963 Tf 0 785.081 Td[(cas)-1(t)-333(is)-334(a)28(v)56(aila)1(ble)]TJ
ET
Q
q 1 0 0 1 139.087 187.978 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.937 cm
q 1 0 0 1 124.534 278.361 cm 1 0 0 1 0 0 cm 1 0 0 1 0 1.9372 cm
0 0 0 rg 0 0 0 RG
1 0 0 1 0 -785.081 cm
1 0 0 1 0 -785.0815 cm
BT
/F8 9.963 Tf 0 785.081 Td[(is)-334(t)1(e)-1(mpl)1(ate)-334(for)]TJ
/F8 9.9626 Tf 0 785.0815 Td[(is)-334(t)1(e)-1(mplat)1(e)-334(for)]TJ
ET
Q
showpage
%%BeginIpeXml: /FlateDecode
%GhU-'9lJcG&;KZQ'njqL-i>;+_uYH*]3&lfmEn0agPej+?V:u+]>)'I"]h//NjUJT3S><KS;/oh
%%&o`CH*[%H%rF*U1o4FkA/2dND4DDliLgBI]'+@S5E\-2qfQlLJeC[TWJHhP\=MH/k+R3Lc`cNN
%kA*hlVLf]*)-%%$C=hDf]Ga_k-rZ5hZMcL2<jD&]:N;)hF`-6]-AHXbrq5l7l0P-b5CFf:X3oq,
%DX3%V"4o6Vn'/eQ;V8[MQ2H^81i&W2Vq?I=8^#8Y^*B:D0d$ZFH"W'i9kZi((0BU&'#F)erTs$-
%at8$AON4S#gNfJP8DM,6LWq_c"JKA7+D]lr6%!>.Wj'=d0&)WE)VklbC>)e%Wjr#UY$CY/O,^>\
%Xto(0obH;u@He^J'Y)R-F*r/Q9uW22RaW5`eB;fM4^p)n`S$'#k-!EcM_:fSAEd@QSkBnH+.36V
%9#UAH\0,cG[ZAaq976Q3l#t(V"edO98q9d-e2,Ab/u;$127pEA&//21;R!"U7U46W9+?I[,`oej
%7j^eF(g;rc"/_9m.PXq&*`!LaTZcm[=-igjao(\r]Mq^jn*46eriZ6Sd"!<L$Fi)+@DKqd#"6Vi
%E[o!)49Et5eWM(4BQbR4"um9OOhcjA:9ehfHF$T.coqe"CIAS"QiAN6)oY949!*e2l`pY1Y`c5b
%,W>CCZuB5Y-W$"AMb=-joqaZ&I3Q@`@Ef^;EF8_;kM;Kjlaqq-`I3URcWE"O4K9cnSl?i6-JV_M
%;Xa/@d"HeX*on@Q0Zp!oR0BW%HFA@pR522+EC=WthSmGsp27X(maHKeQp$FVr?nK4TuU.KpFU8q
%m?<T%j-h5W/5iEps$9niU8&aY>$qQ"T6iS`-"`PO%T^ZuE^j^Y37Jd?_Pm`'pqq0l1:]>KmLIi$
%5qshq6RUIS@<(WcQ44VOVb*0t#fU!-!\8tjn(!RL?<.3FRir47^]1nlSHb2X(cA5s$$[[X:*O`h
%0>HJ"StrJ94^M>?!!u?*fF-h$O%*:,nm\11)1k\&k5m8@9r+N7T[F75\X=JW&g2\mk*I=Sl`S*#
%#_J%RjLWM4.f\M+b3eO35Xa;8~>
%GhU-&92F;-&BF88'J#(lRsdL4NeF?7<TR8AOjGH3,V/fXH53*F^>mR"U^Dbh<B]$,IJmd?5NBEc
%X[d.K]?o&QV?gTm6hBMIC1<c_KgCD!C85,@s+'s^aqqnU)*nBs/!1DpRuAse]kF"hq'+-K>qeSZ
%iD``FM3P6E.Dd:A(fSXT6R8KGRa%;A4IaBgKpQTa]<uP@d5$HN$U9'2;:Qac\gJRsm4,?MZ<b#c
%e.(#AW8!c'S#<LIS!En]HCcufl;DHd@FD6!o6UIZ.0dS\W:u5pWY!9KgVBtN$,d^/V5G(EP]#X,
%$pB7fXn#.@/9HVI4tKbA,)@g.i,@T/IM<R">oAq>gKB_<;o-!`Qg,nuY084Oc.nTAI&qaA3US?*
%Y^bSJ5Qj?c%O//W<plY8W<X,p/O)i@lDnrN)dQ"jJCD*:3Yni=JrSkcF*(.\f%^>3YD8+"Mm7Q[
%IEl5aIFD`FXMUKHE)9q3(og&W:ooKo/EQ)9gr$c>+snI$6lZ[Kj]GZlQRtS3H%37dhnC=,SGd(%
%c4uY$;i-o+N1mKl0.DEDSflbb9l7P*GfXot+0H`uRl@mEeJ"3;YRjEHFnA4_Pm/+WS-5's2-?6N
%Qn.tr@0qo.A6(EYeLP()'Em0'o5D7Wop;_KMi4XT@X=B8K9cl,"J,@5cC'c])hjY;=:)CsX$Rj'
%B"C@Zd'!`0+]<rP;S+QtZ/&9SVEKkDNP`:e]n:4]B@1!$e*6(AjSP"*L5ugfRGKgZ:>qCt5i_.J
%c_`-j^,tAQ[2;0X7PeQtn#VlAW?&tq9Jqrg0o:ak+9]h)2I$ZV;mco,(<-\lTt+'0NsH?I-7KO_
%!_DbcSBmj+%Gb.%Vdi%U'GA827iM"NXno.'9&Q<N29%UDMV*F6!^6Z832T)2p]ZE,_I67A_4i%H
%_hJYtPt)kM)bsoZ=A!8hQ9]$O/Maf&(_%A3f_2.j#[)-uA7&:Xp_EPU^1p<N:a,$)"8]M\kPbc(
%\&mhM5Y'km~>
%%EndIpeXml
%%Trailer
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -44,7 +44,8 @@ public:
class Lapack{
public:
typedef Lapack_matrix Matrix;
//solve MX=B using SVD and give the condition number of M
//solve MX=B using SVD and give the condition number of M
//The solution is stored in B
static
void solve_ls_svd_algo(Matrix& M, double* B, double &cond_nb);
};

View File

@ -153,7 +153,7 @@ dump_4ogl(std::ostream& out_stream, const FT scale)
template <class DataKernel>
std::ostream&
operator<<(std::ostream& out_stream, Monge_form<DataKernel>& monge)
operator<<(std::ostream& out_stream, const Monge_form<DataKernel>& monge)
{
monge.dump_verbose(out_stream);
return out_stream;
@ -190,7 +190,7 @@ public:
template <class LocalKernel>
std::ostream&
operator<<(std::ostream& out_stream, Monge_form_condition_numbers<LocalKernel>& monge)
operator<<(std::ostream& out_stream, const Monge_form_condition_numbers<LocalKernel>& monge)
{
out_stream << "cond_nb : " << monge.cond_nb() << std::endl
<< "pca_eigen_vals " << monge.pca_eigen_vals()[0]