OpenLLM-France/wikimedia huggingface dataset:
# Implementación de algoritmos de teoría de números/Introducción

La teoría computacional de números estudia los algoritmos relevantes de la teoría de números. Los algoritmos rápidos para evaluar números primos y factorización de enteros tienen importantes aplicaciones en criptografía.
«La evolución de la computación ha hecho que la aritmética deje de ser una ciencia contemplativa y de especialistas para transformarse en una verdadera rama aplicada. La necesidad de nuevos algoritmos de computación requiere- como dice Enzo R. Gentile- vastos y profundos conocimientos aritméticos».
# Implementación de algoritmos de teoría de números/Logaritmo discreto

El logaritmo discreto de y en base g, donde g e y son elementos de un grupo cíclico finito G, a la solución x de la ecuación g$^x$ = y. Los logaritmos discretos son análogos en teoría de grupos a los logaritmos ordinarios en análisis. Mientras que el cálculo de su inversa — la exponenciación discreta — es una tarea muy sencilla en términos computacionales, el cálculo del logaritmo discreto no es sencillo en muchos grupos.

## Definición

Sea (G,·) un grupo cíclico finito de orden n — con n elementos —, es decir, G={e,g,g$^2$,...,g$^{n-1}$} para cierto elemento g de G. Dado h perteneciente a G existe un k perteneciente a Z tal que h = g$^k$. Este valor de k es el logaritmo discreto de h en base g.
Más formalmente, se define:
    $\log _{g}:G\rightarrow \mathbb {Z} /n\mathbb {Z}$
como la función que asigna valores de la siguiente manera:
    $\log _{g}(x)=k$ tal que $x=g^{k}$.

## Propiedades

Algunas de las propiedades de esta función son:
* $\log _{g}(x\cdot y)=\log _{g}(x)+\log _{g}(y)$
* $\forall \ t\in \mathbb {N} ,\log _{g}(c^{t})=t\,\log _{g}(c)$
* $\log _{g}(1)=0$
* $\log _{g}(g)=1$
Aquí sigue vigente la fórmula del cambio de base de los logaritmos continuos siempre que c sea otro generador:
* $\log _{c}(x)=\log _{c}(g)\cdot \log _{g}(x)$
# Implementación de algoritmos de teoría de números/Raíz cuadrada modular

Resolver en aritmética modular una congruencia de la forma r$^2$ ≡ n (mod p), donde p es un número primo se conoce como encontrar la raíz cuadrada de n modulo p.
El algoritmo de Tonelli–Shanks (o algoritmo RESSOL) es el más usado. Tonelli–Shanks no puede usarse para módulos compuestos: el encontrar raíces módulo números compuestos es un problema computacional equivalente a la factorización de enteros.

## El algoritmo

Operaciones y comparaciones de elementos del grupo multiplicativo de enteros módulo p $(\mathbb {Z} /p\mathbb {Z} )^{\times }$ son expresadas aquí implícitamente mod p.
Entradas:
* p, un primo
* n, un elemento de $\mathbb {Z} /p\mathbb {Z}$ tal que las soluciones de la congruencia r$^2$ = n exista; cuando esto se cumpla se dirá que n es un residuo cuadrático mod p.
Salidas:
* r en $\mathbb {Z} /p\mathbb {Z}$ tal que r$^2$ = n
Algoritmo:
* Factorizando potencia de 2, encontrar Q y S tales que $p-1=Q2^{S}$ con Q impar
* Buscar un z en $\mathbb {Z} /p\mathbb {Z}$ que sea un residuo no cuadrático.
** La mitad de los elementos de ese conjunto serán residuos no cuadráticos.
** Los candidatos pueden ser testeados mediante el criterio de Euler o buscando el símbolo de Jacobi.
* Sea
    ${\begin{aligned}M&\leftarrow S\\c&\leftarrow z^{Q}\\t&\leftarrow n^{Q}\\R&\leftarrow n^{\frac {Q+1}{2}}\end{aligned}}$
* Bucle:
** Si t = 0, retornar r = 0
** Si t = 1, retornar r = R
** De lo contrario, use el cuadrado repetidamente para encontrar el mínimo i, 0 < i < M, tal que $t^{2^{i}}=1$
** Sea $b\leftarrow c^{2^{M-i-1}}$, y establezca
    ${\begin{aligned}M&\leftarrow i\\c&\leftarrow b^{2}\\t&\leftarrow tb^{2}\\R&\leftarrow Rb\end{aligned}}$
Una vez que haya resuelto la congruencia con r, la segunda solución es $-r{\pmod {p}}$. Si la última i tal que $t^{2^{i}}=1$ es M, entonces no existe una solución a la congruencia, ie n no es un residuo cuadrático.
Esto es más útil cuando p ≡ 1 (mod 4). Para primos tales que p ≡ 3 (mod 4), este problema tienes las posibles soluciones $r=\pm n^{\frac {p+1}{4}}{\pmod {p}}$. Si esas satisfacen que $r^{2}\equiv n{\pmod {p}}$, esas son las únicas soluciones. Si no, $r^{2}\equiv -n{\pmod {p}}$, n es un residuo no cuadrático y no hay soluciones

## Referencias

* ↑ Oded Goldreich, Computational complexity: a conceptual perspective, Cambridge University Press, 2008, p. 588.
# Implementación de algoritmos de teoría de números/Función de Ackermann

La función de Ackermann es una función matemática recursiva encontrada en 1926 por Wilhelm Ackermann, tiene un crecimiento extremadamente rápido, de interés para la ciencia computacional teórica y la teoría de la computabilidad. Esta función toma dos números naturales como argumentos y devuelve un único número natural. Como norma general se define como sigue:
    $A(m,n)={\begin{cases}n+1,&{\mbox{si }}m=0;\\A(m-1,1),&{\mbox{si }}m>0{\mbox{ y }}n=0;\\A(m-1,A(m,n-1)),&{\mbox{si }}m>0{\mbox{ y }}n>0\end{cases}}$
# Implementación de algoritmos de teoría de números/Función φ de Euler

La función φ de Euler (también llamada función indicatriz de Euler) es una función importante en teoría de números. Si n es un número natural, entonces φ(n) se define como el número de enteros positivos menores o iguales a n y coprimos con n, es decir, formalmente se puede definir como:
   $\varphi (m)=|\{n\in \mathbb {N} |n\leq m\land \mathrm {mcd} (m,n)=1\}|$
donde |·| significa la cantidad de números que cumplen la condición.
El valor de φ(n) puede calcularse empleando el teorema fundamental de la Aritmética: si
    $n=p_{1}^{k_{1}}\cdots p_{r}^{k_{r}}$
donde los p$_j$ son números primos distintos, entonces
    $\varphi (n)=(p_{1}-1)p_{1}^{k_{1}-1}\cdots (p_{r}-1)p_{r}^{k_{r}-1}.$
Esta última fórmula es un producto de Euler y a menudo se escribe como
    $\varphi (n)=n\prod _{p|n}\left(1-{\frac {1}{p}}\right)$
donde los p son los distintos primos que dividen a n.

## Descripción formal
### Versión iterativa

De la definición general,
    $\varphi (n):=\sum _{{1\leq k\leq n} \atop {\operatorname {mcd} (k,n)=1}}1$
y tomando por convenio que φ(0)=1, se obtiene la versión iterativa.
Esta versión tiene fácil implementación en una computadora, pero no es eficiente para valores grandes de n.

### Versión por factorización

Se basa en la definición de la función mediante el producto de Euler
    $\varphi (n):=n\prod _{p|n}\left(1-{\frac {1}{p}}\right)$
y utiliza algún algoritmo de factorización eficiente de propósito general como puede ser la criba general del cuerpo de números (GNFS).

## Implementación en distintos lenguajes de programación
### Matlab/Octave

En Matlab/Octave el algoritmo queda como sigue. Esta función gráfica los primeros m valores de la función (solo depende del número m).

## Referencias

* Octavian Cira, Florentin Smarandache, Solving Diophantine Equations, Infinite Study, ISBN 1599733072, pp:64-68
# Implementación de algoritmos de teoría de números/Números amigos

Dos números amigos son dos enteros positivos a y b tales que a es la suma de los divisores propios de b, y b es la suma de los divisores propios de a. (la unidad se considera divisor propio, pero no lo es el mismo número).

## Implementación en distintos lenguajes de programación
### C

Otra solución que implementa una solución diciendo si se cumple que un de número ingresado es amigo de otro número ingresado

### Java

DE UNA MANERA SENCILLA
Otra manera más y estructurada. Te permite saber si dos números son amigos.

### JavaScript

Comprobar si dos números son amigos mediante JS.

### Python

Comprobar si dos números son amigos.

### Python

Comprobar si dos números son amigos.
# Implementación de algoritmos de teoría de números/Números perfectos
## Descripción

Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Así, 6 es un número perfecto, porque sus divisores propios son 1, 2 y 3; y 6 = 1 + 2 + 3. Los siguientes números perfectos son 28, 496 y 8128.

## Implementación en distintos lenguajes de programación
### Lenguaje C

El siguiente código permite determinar si un número es perfecto:
Otro ejemplo:

### Lenguaje PHP

Otro ejemplo:

### VisualBasic

Este código permite ver si un número es perfecto o no, aunque está limitado a los cinco primeros números perfectos ya que el sexto provoca un error de desbordamiento.

### C#

El siguiente código en C# muestra la cantidad de números perfectos indicada por cant.

### F#

El siguiente código en F# permite comprobar si un número dado es perfecto o no.

### Haskell

El siguiente código genera la lista de números perfectos.

#### Otra Alternativa más Eficiente
### Java

Este código permite comprobar si un número dado es perfecto.
Otra forma para el código

### SLE

Generador de números perfectos

### Fortran 90

Este código permite ver si un número es perfecto o no, aunque está limitado a los cinco primeros números perfectos ya que el sexto provoca un error de desbordamiento.

### Scheme

Este código permite comprobar si un número dado es perfecto.

### PSeInt (Estricto)

Otra forma:
# Implementación de algoritmos de teoría de números/Raíz cuadrada entera

La raíz cuadrada entera (isqrt) de un entero positivo n es un entero positivo m que es el entero menor o igual que la raíz cuadrada de n,
    ${\mbox{isqrt}}(n)=\lfloor {\sqrt {n}}\rfloor .$
Por ejemplo, ${\mbox{isqrt}}(27)=5$ porque $5\cdot 5=25\leq 27$ y $6\cdot 6=36>27$.

## Algoritmo usando el método de Newton

Una forma de calcular ${\sqrt {n}}$ y ${\mbox{isqrt}}(n)$ es usar el método de Newton para encontrar la solución de la ecuación $x^{2}-n=0$, dada por la fórmula iterativa
    ${x}_{k+1}={\frac {1}{2}}\left(x_{k}+{\frac {n}{x_{k}}}\right),\quad k\geq 0,\quad x_{0}>0.$
La sucesión $\{x_{k}\}$ converge cuadráticamente a ${\sqrt {n}}$ cuando $k\to \infty$. Se puede demostrar que si se toma $x_{0}=n$ como valor inicial, se puede parar tan pronto como $|x_{k+1}-x_{k}|<1$ para asegurar que $\lfloor x_{k+1}\rfloor =\lfloor {\sqrt {n}}\rfloor .$

### Pseudocódigo

$x\leftarrow y$ significa "sustituya el valor de $x$ por del de $y$", y devolver expresa el resultado del algoritmo y su terminación.
# Funciones

En esta página vamos a crear nuestro propio libro sobre Funciones, con todo lo que vayamos aprendiendo en el curso. Es una construcción de todos y de nosotros depende que el contenido sea correcto y pueda servir a otros que quieran aprender sobre el tema. ¡No tengan miedo de equivocarse! Todo puede corregirse en wiki.
* Glosario
* ¿Qué son las funciones?
* Clasificación
* Tipos de funciones y representación gráfica
* Problemas que modelizan funciones
# Fundamentos básicos de la estructura energética del hombre
## Indice

* Introducción
* El prana, qi o las energías del universo
* Absorción del prana, qi o energías del universo en el ser humano
* La circulación del prana, qi o las energías del universo en el ser humano
Desarrollo →
# Lojban/La conversión y los lujvo simples/Resumen

* Índice de la sección «La conversión y los lujvo simples»
* Conversiones de selbri
* Conversiones de sumti
* Lujvo
* Lujvo negativos
* Reflexivos y recíprocos
* Resumen
* Soluciones de los ejercicios
Esta lección ha introducido lo siguiente:
* Conversión de oraciones (intercambio de sumti) por medio de se y sus familiares;
* Formando sumti a partir de posiciones distintas de x$_1$ por el mismo método;
* Formando lujvo usando sel-, vel- etc., y formas combinantes breves (rafsi);
* Formando lujvo negativos usando nal-.
* Expresando reflexivos y recíprocos con vo'a y soi.
Vocabulario :
| berti | x$_1$ está hacia el norte de/es el lado norte [dirección del pulgar en la regla de la mano derecha] de x$_2$ de acuerdo al marco de referencia x$_3$ |
| cinta | x$_1$ [material] es una pintura de pigmento/sustancia activa x$_2$ sobre una base x$_3$ |
| cpina | x$_1$ es picante/pimentoso/irritante para el sentido x$_2$ |
| ctebi | x$_1$ es un/el labio [parte del cuerpo]/borde del orificio x$_2$ del cuerpo x$_3$; (adjetivo:) x$_1$ es labial |
| fanza | x$_1$ (suceso) molesta/irrita/distrae a x$_2$ |
| jarbu | x$_1$ es una zona suburbana de la ciudad/metrópolis x$_2$ |
| jmina | x$_1$ añade/combina x$_2$ a/con x$_3$, con resultado x$_4$; x$_1$ aumenta x$_2$ por cantidad x$_3$ |
| jukpa | x$_1$ cocina/prepara la comida x$_2$ siguiendo receta/método x$_3$ (proceso) |
| kisto | x$_1$ refleja la cultura/nacionalidad/idioma pakistaní/pashto en aspecto x$_2$ |
| klaji | x$_1$ es una calle/avenida/callejón sin salida/callejón/[carretera] en x$_2$ que provee acceso a x$_3$ |
| minra | x$_1$ refleja x$_2$ [objeto/radiación] a observador/punto x$_3$ como x$_4$; x$_2$ rebota sobre x$_1$ |
| nitcu | x$_1$ necesita/requiere/depende de/[quiere] necesidad x$_2$ para el propósito/la acción/fase del proceso x$_3$ |
| snanu | x$_1$ está hacia el sur/el lado sureño de x$_2$ de acuerdo a marco de referencia x$_3$ |
Ejercicio 4 :
* Traduzca del lojban; algunos de las posiciones utilizadas aquí están bastante contorcionadas en formas distintas del español, pero intente ser tan idiomático como le sea posible.
* .i le la djiotis. karce cu xe klama le gusta fu la djiotis .e la ranjit .e la susanas.
* .i la susanas. catlu le vo'a ve minra
* .i le go'i cu jmina fi le vo'a ctebi cinta
* .i ca lenu go'i kei la susanas. te minra la ranjit. soi vo'a
* .i la susanas. te preti fo la djiotis. fi lu .i ma te klaji fi ti li'u
* .i la ranjit. cusku lu .i le kisto jarbu
* .i le vu se jukpa cu mutce cpina li'u
* .i la djiotis. se fanza cusku lu .i ma'a doi ranjit. klama lo berti lo snanu soi vo'e vo'i
* .i pe'i le ve klama pe le gusta na te djuno fi do li'u
| | Lojban |
| | Introducción · Generalidades · Curso básico · Enlaces · Vocabulario |
| Aspecto · Causa y efecto · El tiempo y el espacio · Juntándolo todo · Los lujvo simples · Sumti internos · Un enfoque personal ||
# Lojban/La conversión y los lujvo simples/Soluciones de los ejercicios

* Índice de la sección «La conversión y los lujvo simples»
* Conversiones de selbri
* Conversiones de sumti
* Lujvo
* Lujvo negativos
* Reflexivos y recíprocos
* Resumen
* Soluciones de los ejercicios
Ejercicio 1 :
* lenu jamna cu se fengu
* la jan. te xatra [mi ti] (si incluye o no mi y ti depende de si son importantes en este contexto — es probable que sean obvios y que puedan ser omitidos)
* loi jdini cu ve xlura mi lenu cliva le gugde ("El dinero es un incentivo para que yo emigre.")
* la lojban. ve tavla fo lo prenu ("Ocurre una conversación en Lojban." Sin embargo, no necesitamos lo prenu, ya que podemos suponer que se trata de personas conversando en lojban y no, por ejemplo, unos chimpancés.)
* mi te dunda le cukta lo prenu
Ejercicio 2 :
* le se klama
* le ve klama
* le te cmene
* le xe fanva
* le fanva (¡Espero que no se haya dejado engañar!)
* le ve cpedu (le se cpedu es lo que usted pide, no su pedido)
* le te penmi
* le ve ciska
* le ve skicu
* le te spuda
Ejercicio 3 :
* lo veltivni
* lo terta'a
* lo seltcica
* lo nalvu'e
* lo teryre'e
* lo nalvai
* lo nalselvi'a
* lo naltercni
Ejercicio 4 :
* El coche de Giotti es el medio por el cual Giotti, Ranjit y Susana llegan al restaurante.
* Susana mira su reflejo. (Esta es la versión más lojbanica de "se mira en el espejo." Hay otras maneras de expresar esto, pero todavía no hemos cubierto la gramática necesaria.)
* Ella se pone más lápiz labial. (Literalmente, "Ella añade a su pintura de labios.")
* Cuando esto sucede, Susana y Ranjit ven cada uno el reflejo del otro.
* Susana le pregunta a Giotti, "¿A dónde va esta calle?"
* Ranjit dice: "El suburbio pakistaní."
* "La cocina ahí es muy picante".
* Giotti irritadamente dice, "Nosotros, Ranjit, hemos estado yendo de sur a norte y vuelta" (es decir, de sur a norte y de norte a sur. Esta es probablemente una de las pocas veces que verá soi vo'e en lugar de soi vo'a.)
* "Creo que el camino del (= hacia el) restaurante es desconocido por usted."
| | Lojban |
| | Introducción · Generalidades · Curso básico · Enlaces · Vocabulario |
| Aspecto · Causa y efecto · El tiempo y el espacio · Juntándolo todo · Los lujvo simples · Sumti internos · Un enfoque personal ||
# Lojban/Página de edición
## Sobre el diseño y la organización del libro

Agregar a todas las páginas de tercer nivel, las plantillas: {{+ÍndiceSección}} al inicio de la página y la sintaxis <noinclude>{{Lojban}}</noinclude> al final.
| | Lojban |
| | Introducción · Generalidades · Curso básico · Enlaces · Vocabulario |
| Aspecto · Causa y efecto · El tiempo y el espacio · Juntándolo todo · Los lujvo simples · Sumti internos · Un enfoque personal ||
# Lojban/La conversión y los lujvo simples/Reflexivos y recíprocos

* Índice de la sección «La conversión y los lujvo simples»
* Conversiones de selbri
* Conversiones de sumti
* Lujvo
* Lujvo negativos
* Reflexivos y recíprocos
* Resumen
* Soluciones de los ejercicios
Veamos ahora una versión ligeramente embellecida de la oración ejemplar avanzante-de-trama de la Lección 7, con la participación de Zhang y Susana:
    la susanas. na djuno fi vo'a fe le du'u la jan. cinynei sy.
    Susana no sabe acerca de sí misma que Zhang gusta de ("sexualmente-le-gusta") ella.
Hemos logrado colar dentro de la oración un pro-sumti nuevo: vo'a. Este significa «el primer sumti de este bridi», y como los demás, viene como parte de una serie -- vo'e se refiere al segundo sumti, vo'i al tercero y así sucesivamente. En la práctica, vo'a se utiliza bastante, mientras que los otros más raramente, pero aquello podría ser porque la gente todavía tiende a pensar en términos de las lenguas naturales, donde sólo el equivalente de vo'a es habitual. Esos equivalentes son los reflexivos -- palabras como sí misma, me, te, se, nos, y así sucesivamente; y vo'a es muy útil para la expresión de ellos. Al tanto que la gente empieze a pensar más en lojban, los demás podrían ser utilizados más.
He aquí algunos ejemplos más directos de su uso:
    la meilis. pensi vo'a
    Mei Li piensa acerca de sí misma.
    le gerku cu batci vo'a
    El perro se muerde.
También se puede decir
    mi nelci vo'a
    Yo me agrado.
pero esto es lo mismo que mi nelci mi, lo cual es más simple.
Ahora para algo astuto -- que también parecerá un poco familiar.
    la susanas. zgana la djiotis. soi vo'a vo'e
    Susana mira a Giotti y viceversa.
    Susana y Giotti se miran entre sí.
soi es un cmavo que significa algo así como "usted puede intercambiar estos sumti y el bridi seguirá siendo cierto." Si sólo hay un sumti después de soi, el otro se toma por predeterminado que es el sumti inmediatamente anterior a soi. Así que podemos decir lo mismo de manera más breve, como la susanas. zgana la djiotis. soi vo'a, o incluso sólo como ko'a zgana ko'i soi vo'a. Es por eso que fue capaz de utilizar soi vo'a como «y viceversa» en los ejercicios de la lección anterior.
    Nota: vo'a está fijado con respecto a lo que se retro-refiere y, a diferencia de ri, puede retro-apuntar a ko'a -- aunque también puede repetir ko'a si lo prefiere.
    Consejo: Hay un gismu que cumple la misma función, simxu: "x$_1$ (conjunto) tiene miembros que mutuamente/recíprocamente x$_2$". Usted también vio un anticipo de esto en la lección anterior. Se utiliza sobre todo en los selbri compuestos (tanru), y a partir de ahí, en lujvo (sim-,-si'u). No hemos cubierto la suficiente gramática como para utilizarlo correctamente, pero ya lo verá otra vez hacia el final de las lecciones.
| | Lojban |
| | Introducción · Generalidades · Curso básico · Enlaces · Vocabulario |
| Aspecto · Causa y efecto · El tiempo y el espacio · Juntándolo todo · Los lujvo simples · Sumti internos · Un enfoque personal ||
# Lojban/Sumti internos y las oraciones relativas

* Sumti internos
* Más sumti internos
* Oraciones de relativo
* Ke'a
* Sumti tcita internos
* Determinativas e incidentales
* Resumen
* Soluciones de los ejercicios
Sumti internos y las oraciones relativas Esta página contiene todo el texto del capítulo de «Sumti internos y las oraciones relativas» Texto completo de este capítulo Esta página contiene todo el texto del capítulo de «Sumti internos y las oraciones relativas»
| | Lojban |
| | Introducción · Generalidades · Curso básico · Enlaces · Vocabulario |
| Aspecto · Causa y efecto · El tiempo y el espacio · Juntándolo todo · Los lujvo simples · Sumti internos · Un enfoque personal ||
# Inglés/Gramática/Pasado progresivo
### Structure - Estructura

| The structure of a simple sentence in past progressive tense is the following: | La estructura de una sencilla oración en tiempo pasado progresivo es la siguiente: |
| Examples: | Ejemplos: |
* I was walking.
* You were eating.
* She was thinking.
* We were planning.
* It was snowing.
* The Moon was lighting.

### Uses - Usos

Present Progressive: The action was in progress when another action occurred.
| Past progressive tense is usually used to communicate that an activity was going on when another action occurred. Example: | El tiempo pasado progresivo es comúnmente usado para comunicar que una actividad estaba sucediendo cuando otra acción ocurrió. Ejemplo: |
| I saw my old friend John is the part in simple past tense, and when I was walking home is te part in past progressive tense. Another example is | I saw my old friend es una parte en tiempo pasado simple, y when I was walking home es una parte dependiente en tiempo pasado progresivo. Otro ejemplo es |
| A sentence including a part in past progressive tense may also expresses that an activity was in progress at some point in the past. Example: | Una oración que incluya una parte en tiempo pasado progresivo puede expresar también que una actividad estaba sucediendo en cierto momento en el pasado. Ejemplo: |
| A sentence may, of course, include two parts in past progressive tense when it is intended to express that two activities were in progress simultaneously. Example: | Una oración puede, por supuesto, incluir dos partes en pasado progresivo cuando se pretende expresar que dos actividades estaban llevándose a cabo simultáneamente. Ejemplos: |
# Inglés/Gramática/El verbo tener
### The verb to have

| The subject inflection of the verb to have in simple present tense is very easy. It is as specified in the following chart: | La flexión del verbo to have (tener o haber), de acuerdo al sujeto, en tiempo presente simple es muy fácil. Es como se especifica en la siguiente tabla: |
| Singular | Plural |
| I have | we have |
| you have | you have |
| he, she, it has | they have |
| If the subject is a singular noun, then use has. If the subject is a plural noun, then use have. | Si el sujeto es un sustantivo singular, entonces se usa has. Si el sujeto es un sustantivo plural, entonces se usa have. |

### Examples

* I have a friend who is very good at mathematics.
* You have a very interesting brother.
* My sister has a dog. She also has a hamster.
* New York city has many tall buildings.
# Inglés/Gramática/Pasado perfecto progresivo
### Past Perfect Progressive - Pasado Perfecto Progresivo

| The Past Perfect Progressive tense is used to express continuity in a past action done before another past action. | El Pasado Perfecto Progresivo es usado para expresar continuidad en una acción pasada previa a otra pasada |
El pasado perfecto progresivo del Inglés tiene la misma estructura que el Pasado perfecto, excepto que se utiliza el past participle (participio pasado) del verbo be y el present participle (participio presente) del verbo a conjugar.
La forma general sería:
| Pronombre | + | have conjugado en pasado | + | been | + | present participle del verbo a conjugar |
Por ejemplo, tomemos el verbo run.
| | singular | plural |
| First Person | I had been running | We had been running |
| Second Person | You had been running | You had been running |
| Third Person | He/She had been running | They had been running |
Como se puede observar, todas las conjugaciones son iguales, dando facilidad a la conjugación.

## Uso

El tiempo es usado para expresar continuidad en una acción pasada previa a otra pasada, que a veces también es continua (past continuous). En otras palabras, tiene el mismo uso que el Past Perfect (pasado perfecto), pero en cambio, esta vez se añade continuidad a la acción.
Por ejemplo: I was sweating because I had been training all night long