La respuesta corta: Se hace esencialmente lo mismo como antes, pero en sentido inverso. Usted toma la matriz cuyas filas son sus covectors, tomar la inversa, y tomar las columnas de la matriz resultante será la base dual para la covectors.
La respuesta larga:
Es importante separar un par de cosas diferentes aquí, que son fáciles de agrupar cuando se trabaja con ejemplos numéricos. La gran dificultad es que hay varios diferentes isomorfo espacios vectoriales y mapas de entre ellos, y los algoritmos para lidiar con todo lo que puede ser confuso si usted no separar lo que son las cosas de la manera en que están representados. En lo que sigue, voy a estar tratando con finito dimensionales real de espacios vectoriales, pero la mayor parte de la discusión se generaliza.
Dado un número finito de dimensiones reales espacio vectorial $V$ de la dimensión de $n$, tenemos un no-cannonical isomorfismo $\mathbb R^n\to V$, y las imágenes de la norma vectores de la base (por ejemplo, $e_w=(0,1,0,0,0,\ldots,0)^T$ será una base para $V$. Donde las cosas se ponen confusas es si $V$ ya $\mathbb R^n$, para empezar, en cuyo caso tendremos a bases flotando en el aire, el estándar de base, y una segunda base. En el primer ejemplo, el segunda base está dada por las columnas de a $A=\pmatrix{2 & 1 \\ 3 & 2}$. Aquí, $A$ es sólo el mapa de $\mathbb R^n \to V$ mencionado anteriormente. Es conveniente, por lo tanto, para representar vectores como vectores columna (es decir, $n\times 1$ matrices), y las bases de las matrices cuyas columnas son los vectores de la base.
Dado un espacio vectorial $V$, tenemos un doble espacio vectorial $V^*$, que es sólo la recopilación de los mapas de $V\to \mathbb R$. Dada una base $v_1,\ldots v_n$$V$, la base dual de $V^*$ es, por definición, el $\phi_1, \ldots, \phi_n\in V^*$ tal que $\phi_i(v_j)=\delta_{ij}$ donde $\delta$ es la delta de Kronecker.
Un mapa de $\mathbb R^n\to \mathbb R$ es administrado por un $1\times n$ matriz (vector fila), y la acción de tales covectors en nuestra (reprentations de) los vectores está dado por la multiplicación de la matriz. Dada una base $V^*$, vamos a asociar la matriz cuyas filas son los covectors en la base. Si las filas de la matriz $B$ son los covectors $\phi_1,\ldots, \phi_n$ y las columnas de la matriz $A$ son los vectores $v_1, \ldots, v_n$, $ij$ésima de la matriz $BA$$\phi_i(v_j)$. Por tanto, tenemos la base dual si $BA=I_n$, lo que explica su proceso para la obtención de la base dual.
Vale la pena señalar que cuando escribimos un covector como un vector fila, estamos implícitamente la escritura de ellos, en términos de transpone de la norma base de vectores. Si tomamos el estándar de la base de vectores como base para $V=\mathbb R^n$, sus transpuestas forma la base dual para $V^*$. Lo que hemos hecho, por lo tanto, se toma de base para $\mathbb R^n$, expresado en términos de la norma base, y expresó la base dual en términos de la doble de la norma base.
En el anterior, hemos elegido para representar los vectores de $\mathbb R^n$ como vectores columna y la correspondiente covectors como vectores fila. La diferencia entre ser un vector de fila y un vector columna es sólo una cuestión de tomar la transpuesta, y si no tenemos los vectores de actuar, covectors en realidad, no son nada especial, solo que no son vectores en un (diferente, sin embargo, isomorfo) espacio vectorial. (N. B., la relación entre los vectores y covectors hirviendo hasta una transposición esencialmente consiste en el hecho de que $\mathbb R^n$ tiene el producto escalar, y esto es importante, y que la clave para algunas de las cosas que usted hace con los tensores, pero está fuera del alcance de la pregunta).
Debido a que el espacio de covectors es sólo un determinado espacio vectorial, se puede repetir el proceso de tomar el doble a este espacio vectorial, y dada una base de covectors, usted puede preguntar acerca de la doble base de la co-covectors. Pero, ¿qué es un co-covector? ¿Cómo podemos representar estos objetos? Y en la representación, lo que hacen nuestros algoritmos?
Dado un espacio vectorial $V$, y el espacio dual $(V^*)$, podemos formar el doble doble (V^)^. Si $f\in (V^*)^*$, que se necesita en un covector y escupe un número. Ya tenemos una manera fácil de obtener un número de un covector: evaluar en un vector. Esto nos da un mapa de $V\to (V^*)^*$ definido por $v\mapsto f_v$ definido por $f_v(\phi)=\phi(v)$. Este mapa es inyectiva, y por lo $V\subset (V^*)^*$. En general, $V$ es un buen subespacio, pero cuando estamos finito dimensionales, tenemos la igualdad! Si $V\cong W$,$V^*\cong W^*$, y así, debido a $(\mathbb R^n)^*\cong \mathbb R^n$, $((\mathbb R^n)^*)^*\cong (\mathbb R^n)^*\cong \mathbb R^n$ En nuestro caso, co-covectors son sólo los vectores.
Ahora tenemos que hacer una elección. Podemos
Escribir nuestra covectors como vectores en la base $e_1^*, e_2^*, \ldots, e_n^*$, la base dual de la base estándar para $\mathbb R^n$, escribir nuestra co-covectors como vectores columna, y realizar nuestro algoritmo original (tomar las filas de la matriz inversa como la base dual).
Utilizando el hecho de que el co-covectors (que actúa en la izquierda) y la misma cosa como vectores (actuando sobre el derecho al ser actuado), estamos de vuelta donde empezamos y ejecutar nuestro algoritmo en sentido inverso.
Ambas opciones dan la misma respuesta. Para ver por qué, vamos a escribir lo que vamos a hacer de manera más explícita.
Deje $B$ ser la matriz cuyas filas son nuestros covectors. Si tomamos la primera opción, luego formamos la matriz $B^T$, tomar la inversa, y tomar las filas. Esto nos da dual de la base, expresada en términos de la dual de la base dual de la base estándar (que es el estándar).
Si tomamos la segunda opción, entonces estamos buscando en las columnas de $B^{-1}$. Vamos a comparar nuestros dos opciones. Desde $(XY)^T=Y^TX^T$, $(X^T)^{-1}=(X^{-1})^T$, y las filas de $(B^T)^{-1}=(B^{-1})^T$ son sólo las columnas de a $B^{-1}$, los dos enfoques dan exactamente el mismo resultado (más allá de lo superficial diferencia que tenemos vectores fila en una versión y vectores columna en el otro).