Commit cc0b205d authored by Davis King's avatar Davis King
Browse files

Moved all the linear algebra/matrix tools onto their own documentation page.

parent 16011071
......@@ -86,32 +86,6 @@
<item>rls_filter</item>
</section>
<section>
<name>Geometry</name>
<item>border_enumerator</item>
<item>rectangle</item>
<item>vector</item>
<item>point</item>
<item>rotate_point</item>
<item>point_rotator</item>
<item>point_transform</item>
<item>point_transform_affine</item>
<item>rotation_matrix</item>
<item>get_rect</item>
<item>centered_rect</item>
<item>center</item>
<item>dcenter</item>
<item>shrink_rect</item>
<item>grow_rect</item>
<item>translate_rect</item>
<item>resize_rect</item>
<item>resize_rect_width</item>
<item>resize_rect_height</item>
<item>move_rect</item>
<item>nearest_point</item>
<item>distance_to_rect_edge</item>
</section>
</top>
</menu>
......@@ -284,7 +258,7 @@
<spec_file>dlib/general_hash/hash_abstract.h</spec_file>
<description>
This is a set of convenience functions for invoking <a href="#murmur_hash3">murmur_hash3</a>
on std::strings, std::vectors, std::maps, or <a href="containers.html#matrix">dlib::matrix</a> objects.
on std::strings, std::vectors, std::maps, or <a href="linear_algebra.html#matrix">dlib::matrix</a> objects.
<p>
As an aside, the hash() for matrix objects is defined <a href="dlib/matrix/matrix_utilities_abstract.h.html#hash">here</a>.
It has the same interface as all the others.
......@@ -305,54 +279,6 @@
</component>
<!-- ************************************************************************* -->
<component>
<name>rectangle</name>
<file>dlib/geometry.h</file>
<spec_file>dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This object represents a rectangular region inside a Cartesian
coordinate system. It allows you to easily represent and manipulate
rectangles.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>border_enumerator</name>
<file>dlib/geometry.h</file>
<spec_file>dlib/geometry/border_enumerator_abstract.h</spec_file>
<description>
This object is an <a href="containers.html#enumerable">enumerator</a>
over the border <a href="#point">points</a> of a
<a href="#rectangle">rectangle</a>.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>vector</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This object represents a two or three dimensional vector.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>point</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This object represents a point inside a Cartesian coordinate system.
</description>
</component>
<!-- ************************************************************************* -->
<component>
......@@ -664,103 +590,6 @@
</component>
<!-- ************************************************************************* -->
<component>
<name>nearest_point</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and a
<a href="#point">point</a> and returns the point in the given
rectangle that is nearest to the given point.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>distance_to_rect_edge</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and a
<a href="#point">point</a> and returns the Manhattan distance between
the rectangle's edge and the point.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>move_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and moves
it so that it's upper left corner occupies the given location.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>resize_rect_height</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and
returns a new rectangle with the given height but otherwise with the
same edge points as the original rectangle.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>resize_rect_width</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and
returns a new rectangle with the given width but otherwise with the
same edge points as the original rectangle.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>resize_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and
returns a new rectangle with the given size but with the same upper
left corner as the original rectangle.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>translate_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> and moves
it by a given number of units along the x and y axis relative to
where it was before the move.
</description>
</component>
<!-- ************************************************************************* -->
<component>
......@@ -795,151 +624,6 @@
</component>
<!-- ************************************************************************* -->
<component>
<name>center</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
Returns the center point of a <a href="#rectangle">rectangle</a>.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>dcenter</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
Returns the center point of a <a href="#rectangle">rectangle</a>. This
is a version of <a href="#center">center()</a> which returns a double version
of the point rather than one which uses integers to represent the
result. Therefore, it is slightly more accurate.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>centered_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
There are various overloads of this function but the basic idea is
that it returns a <a href="#rectangle">rectangle</a> with a given
width and height and centered about a given point.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>shrink_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> object,
shrinks its borders by a given amount, and returns the result.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>grow_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This function takes a <a href="#rectangle">rectangle</a> object,
grows its borders by a given amount, and returns the result.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>rotate_point</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This is a function that rotates a 2D <a href="#vector">vector</a> or
<a href="#point">point</a> object about a given point.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>point_rotator</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This is an object that rotates a 2D <a href="#vector">vector</a> or
<a href="#point">point</a> object about the origin.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>point_transform</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This is an object that rotates a 2D <a href="#vector">vector</a> or
<a href="#point">point</a> object about the origin and then adds a
displacement vector.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>point_transform_affine</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This is an object that applies an affine transformation to a <a href="#vector">vector</a> or
<a href="#point">point</a>.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>rotation_matrix</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/vector_abstract.h</spec_file>
<description>
This is a method for creating 2D rotation matrices.
</description>
</component>
<!-- ************************************************************************* -->
<component>
<name>get_rect</name>
<file>dlib/geometry.h</file>
<spec_file link="true">dlib/geometry/rectangle_abstract.h</spec_file>
<description>
This is a simple template function that returns a rectangle
representing the size of a 2D container (e.g. <a href="containers.html#matrix">matrix</a> or
<a href="containers.html#array2d">array2d</a>).
</description>
</component>
<!-- ************************************************************************* -->
</components>
......
This diff is collapsed.
......@@ -303,7 +303,7 @@
<spec_file link="true">dlib/graph_utils/function_objects_abstract.h</spec_file>
<description>
This is a simple function object that computes squared euclidean distance
between two <a href="containers.html#matrix">matrix</a> objects.
between two <a href="linear_algebra.html#matrix">matrix</a> objects.
</description>
<examples>
<example>linear_manifold_regularizer_ex.cpp.html</example>
......
......@@ -233,7 +233,7 @@ Then <a href="mailto:davis@dlib.net">email me</a> the dlibchanges.hg file and I'
or any number of other objects that manage resources such as memory for you. If you want
an array use std::vector (or the checked <a href="containers.html#std_vector_c">std_vector_c</a>).
If you want to make a lookup table use a <a href="containers.html#map">map</a>. If you want
a two dimensional array use <a href="containers.html#matrix">matrix</a> or
a two dimensional array use <a href="linear_algebra.html#matrix">matrix</a> or
<a href="containers.html#array2d">array2d</a>.
</p>
<p>
......
......@@ -975,7 +975,7 @@
<spec_file link="true">dlib/image_transforms/equalize_histogram_abstract.h</spec_file>
<description>
This global function computes an image's histogram and returns it in the
form of a column or row <a href="containers.html#matrix">matrix</a> object.
form of a column or row <a href="linear_algebra.html#matrix">matrix</a> object.
</description>
</component>
......@@ -1295,7 +1295,7 @@
<spec_file link="true">dlib/image_transforms/interpolation_abstract.h</spec_file>
<description>
This routine is a tool for transforming images using some kind of point mapping
function (e.g. <a href="algorithms.html#point_transform_affine">point_transform_affine</a>)
function (e.g. <a href="linear_algebra.html#point_transform_affine">point_transform_affine</a>)
and pixel interpolation tool (e.g. <a href="#interpolate_quadratic">interpolate_quadratic</a>).
An example application of this routine is for image rotation. Indeed, it is how
<a href="#rotate_image">rotate_image</a> is implemented.
......@@ -1639,7 +1639,7 @@
<spec_file link="true">dlib/image_processing/box_overlap_testing_abstract.h</spec_file>
<description>
This object is a simple function object for determining if two
<a href="algorithms.html#rectangle">rectangles</a> overlap.
<a href="linear_algebra.html#rectangle">rectangles</a> overlap.
</description>
</component>
......
......@@ -104,7 +104,7 @@
<li><b>Numerical Algorithms</b>
<ul>
<li>A fast <a href="containers.html#matrix">matrix</a> object implemented using the expression
<li>A fast <a href="linear_algebra.html#matrix">matrix</a> object implemented using the expression
templates technique and capable of using BLAS and LAPACK libraries when available.</li>
<li>Numerous linear algebra and mathematical operations are defined for the matrix object such as the
<a href="dlib/matrix/matrix_la_abstract.h.html#svd">singular value decomposition</a>,
......
This diff is collapsed.
......@@ -25,6 +25,11 @@
<link>ml.html</link>
<chm_sub>ml.xml</chm_sub>
</item>
<item>
<name>Linear Algebra</name>
<link>linear_algebra.html</link>
<chm_sub>linear_algebra.xml</chm_sub>
</item>
<item>
<name>Bayesian Nets</name>
<link>bayes.html</link>
......
......@@ -392,7 +392,7 @@
<spec_file link="true">dlib/is_kind.h</spec_file>
<description>
This is a template where is_matrix&lt;T&gt;::value == true when T
is a <a href="containers.html#matrix">matrix</a> object or some kind
is a <a href="linear_algebra.html#matrix">matrix</a> object or some kind
of matrix expression.
</description>
......
......@@ -32,7 +32,7 @@
programming approach using C++ templates. In particular, each algorithm is parameterized
to allow a user to supply either one of the predefined dlib kernels (e.g. <a
href="#radial_basis_kernel">RBF</a> operating
on <a href="containers.html#matrix">column vectors</a>), or a new
on <a href="linear_algebra.html#matrix">column vectors</a>), or a new
<a href="using_custom_kernels_ex.cpp.html">user defined kernel</a>.
Moreover, the implementations of the algorithms are totally separated from the data on
which they operate. This makes the dlib implementation generic enough to operate on
......
......@@ -15,18 +15,20 @@
<term file="dlib/algs.h.html" name="stack_based_memory_block"/>
<term file="algorithms.html" name="move_rect"/>
<term file="algorithms.html" name="translate_rect"/>
<term file="algorithms.html" name="resize_rect"/>
<term file="algorithms.html" name="resize_rect_width"/>
<term file="algorithms.html" name="resize_rect_height"/>
<term file="algorithms.html" name="centered_rect"/>
<term file="algorithms.html" name="center"/>
<term file="algorithms.html" name="nearest_point"/>
<term file="algorithms.html" name="distance_to_rect_edge"/>
<term file="algorithms.html" name="shrink_rect"/>
<term file="algorithms.html" name="grow_rect"/>
<term file="algorithms.html" name="dcenter"/>
<term file="linear_algebra.html" name="matrix"/>
<term file="linear_algebra.html" name="move_rect"/>
<term file="linear_algebra.html" name="translate_rect"/>
<term file="linear_algebra.html" name="resize_rect"/>
<term file="linear_algebra.html" name="resize_rect_width"/>
<term file="linear_algebra.html" name="resize_rect_height"/>
<term file="linear_algebra.html" name="centered_rect"/>
<term file="linear_algebra.html" name="center"/>
<term file="linear_algebra.html" name="nearest_point"/>
<term file="linear_algebra.html" name="distance_to_rect_edge"/>
<term file="linear_algebra.html" name="shrink_rect"/>
<term file="linear_algebra.html" name="grow_rect"/>
<term file="linear_algebra.html" name="dcenter"/>
<term file="algorithms.html" name="kalman_filter"/>
<term file="algorithms.html" name="rls_filter"/>
......@@ -150,8 +152,8 @@
<term file="algorithms.html" name="randomly_sample_image_features"/>
<term file="algorithms.html" name="disjoint_subsets"/>
<term link="algorithms.html#disjoint_subsets" name="union-find"/>
<term file="algorithms.html" name="rectangle"/>
<term file="algorithms.html" name="border_enumerator"/>
<term file="linear_algebra.html" name="rectangle"/>
<term file="linear_algebra.html" name="border_enumerator"/>
<term file="graph_tools.html" name="edge"/>
<term file="graph_tools.html" name="is_join_tree"/>
<term file="graph_tools.html" name="create_join_tree"/>
......@@ -182,13 +184,13 @@
<term file="graph_tools.html" name="is_clique"/>
<term file="graph_tools.html" name="is_maximal_clique"/>
<term file="algorithms.html" name="square_root"/>
<term file="algorithms.html" name="vector"/>
<term file="algorithms.html" name="point"/>
<term file="algorithms.html" name="rotate_point"/>
<term file="algorithms.html" name="point_rotator"/>
<term file="algorithms.html" name="point_transform"/>
<term file="algorithms.html" name="point_transform_affine"/>
<term file="algorithms.html" name="rotation_matrix"/>
<term file="linear_algebra.html" name="vector"/>
<term file="linear_algebra.html" name="point"/>
<term file="linear_algebra.html" name="rotate_point"/>
<term file="linear_algebra.html" name="point_rotator"/>
<term file="linear_algebra.html" name="point_transform"/>
<term file="linear_algebra.html" name="point_transform_affine"/>
<term file="linear_algebra.html" name="rotation_matrix"/>
<term file="algorithms.html" name="running_stats"/>
<term file="algorithms.html" name="running_scalar_covariance"/>
<term file="algorithms.html" name="mean_sign_agreement"/>
......@@ -369,7 +371,6 @@
<term file="containers.html" name="directed_graph"/>
<term file="containers.html" name="array"/>
<term file="containers.html" name="binary_search_tree"/>
<term file="containers.html" name="matrix"/>
<term file="containers.html" name="enumerable"/>
<term file="containers.html" name="map_pair"/>
<term file="containers.html" name="map"/>
......@@ -825,7 +826,7 @@
<term name="get_rect">
<term link="dlib/gui_widgets/drawable_abstract.h.html#get_rect" name="in drawable object"/>
<term link="algorithms.html#get_rect" name="for general matrix like objects"/>
<term link="linear_algebra.html#get_rect" name="for general matrix like objects"/>
</term>
<term file="dlib/gui_widgets/drawable_abstract.h.html" name="is_enabled"/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment